public override void ReadExtraData(BinaryReader reader) { item = new Item(); item.netDefaults((int)reader.ReadInt16()); item.Prefix((int)reader.ReadByte()); item.stack = (int)reader.ReadInt16(); }
void entry_OnClick(Terraria.UI.UIMouseEvent evt, Terraria.UI.UIElement listeningElement) { var entry = (PrefixEntry)listeningElement; var baseItem = new Item(); baseItem.SetDefaults(entry.Item.type); baseItem.Prefix(entry.Item.prefix); _itemSlot.Item = baseItem; }
public static IList<Item> SetupStartInventory(Player player) { IList<Item> items = new List<Item>(); Item item = new Item(); item.SetDefaults("Copper Shortsword"); item.Prefix(-1); items.Add(item); item = new Item(); item.SetDefaults("Copper Pickaxe"); item.Prefix(-1); items.Add(item); item = new Item(); item.SetDefaults("Copper Axe"); item.Prefix(-1); items.Add(item); foreach (ModPlayer modPlayer in player.modPlayers) { modPlayer.SetupStartInventory(items); } IDictionary<int, int> counts = new Dictionary<int, int>(); foreach (Item item0 in items) { if (item0.maxStack > 1) { if (!counts.ContainsKey(item0.netID)) { counts[item0.netID] = 0; } counts[item0.netID] += item0.stack; } } int k = 0; while (k < items.Count) { bool flag = true; int id = items[k].netID; if (counts.ContainsKey(id)) { items[k].stack = counts[id]; if (items[k].stack > items[k].maxStack) { items[k].stack = items[k].maxStack; } counts[id] -= items[k].stack; if (items[k].stack <= 0) { items.RemoveAt(k); flag = false; } } if (flag) { k++; } } return items; }
TextSnippet ITagHandler.Parse(string text, Color baseColor, string options) { Item obj = new Item(); int result1; if (int.TryParse(text, out result1)) obj.netDefaults(result1); else obj.SetDefaults(text); if (obj.itemId <= 0) return new TextSnippet(text); obj.stack = 1; if (options != null) { string[] strArray = options.Split(','); for (int index = 0; index < strArray.Length; ++index) { if (strArray[index].Length != 0) { switch (strArray[index][0]) { case 'p': int result2; if (int.TryParse(strArray[index].Substring(1), out result2)) { obj.Prefix(Utils.Clamp<int>(result2, 0, 84)); continue; } continue; case 's': case 'x': int result3; if (int.TryParse(strArray[index].Substring(1), out result3)) { obj.stack = Utils.Clamp<int>(result3, 1, obj.maxStack); continue; } continue; default: continue; } } } } string str = ""; if (obj.stack > 1) str = " (" + obj.stack + ")"; ItemSnippet itemSnippet = new ItemSnippet(obj); itemSnippet.Text = "[" + obj.AffixName() + str + "]"; itemSnippet.CheckForHover = true; itemSnippet.DeleteWhole = true; return itemSnippet; }
internal static void ReadModItem(Item item, BinaryReader reader) { string modName = reader.ReadString(); string itemName = reader.ReadString(); Mod mod = ModLoader.GetMod(modName); int type = mod == null ? 0 : mod.ItemType(itemName); if (type != 0) { item.netDefaults(type); int dataLength = reader.ReadUInt16(); if (dataLength > 0) { byte[] data = reader.ReadBytes(dataLength); using (MemoryStream memoryStream = new MemoryStream(data)) { using (BinaryReader customReader = new BinaryReader(memoryStream)) { item.modItem.LoadCustomData(customReader); } } } if (type == ModLoader.GetMod("ModLoader").ItemType("MysteryItem")) { MysteryItem mystery = item.modItem as MysteryItem; modName = mystery.GetModName(); itemName = mystery.GetItemName(); mod = ModLoader.GetMod(modName); type = mod == null ? 0 : mod.ItemType(itemName); if (type != 0) { item.netDefaults(type); } } } else { item.netDefaults(ModLoader.GetMod("ModLoader").ItemType("MysteryItem")); MysteryItem mystery = item.modItem as MysteryItem; mystery.SetModName(modName); mystery.SetItemName(itemName); reader.ReadBytes(reader.ReadUInt16()); } item.Prefix(reader.ReadByte()); }
public static Chest ReadChest(this BinaryReader reader) { Chest chest = new Chest(false); chest.x = reader.ReadInt32(); chest.y = reader.ReadInt32(); chest.name = "World Chest"; for (int l = 0; l < 40; l++) { Item item = new Item(); int stack = reader.ReadInt16(); if (stack > 0) { int netID = reader.ReadInt32(); byte prefix = reader.ReadByte(); item.netDefaults(netID); item.stack = stack; item.Prefix(prefix); } chest.item[l] = item; } return chest; }
private static void LoadChests(BinaryReader reader) { int num = (int)reader.ReadInt16(); int num2 = (int)reader.ReadInt16(); int num3; int num4; if (num2 < Chest.maxItems) { num3 = num2; num4 = 0; } else { num3 = Chest.maxItems; num4 = num2 - Chest.maxItems; } int i; for (i = 0; i < num; i++) { Chest chest = new Chest(false); chest.x = reader.ReadInt32(); chest.y = reader.ReadInt32(); chest.name = reader.ReadString(); for (int j = 0; j < num3; j++) { short num5 = reader.ReadInt16(); Item item = new Item(); if (num5 > 0) { item.netDefaults(reader.ReadInt32()); item.stack = (int)num5; item.Prefix((int)reader.ReadByte()); } else if (num5 < 0) { item.netDefaults(reader.ReadInt32()); item.Prefix((int)reader.ReadByte()); item.stack = 1; } chest.item[j] = item; } for (int j = 0; j < num4; j++) { short num5 = reader.ReadInt16(); if (num5 > 0) { reader.ReadInt32(); reader.ReadByte(); } } Main.chest[i] = chest; } while (i < 1000) { Main.chest[i] = null; i++; } }
private static void LoadChests(BinaryReader reader) { short num; int i; int j; int num1; int num2; Chest chest = null; int num3 = reader.ReadInt16(); int num4 = reader.ReadInt16(); if (num4 >= 40) { num1 = 40; num2 = num4 - 40; } else { num1 = num4; num2 = 0; } for (i = 0; i < num3; i++) { chest = new Chest(false) { x = reader.ReadInt32(), y = reader.ReadInt32(), name = reader.ReadString() }; for (j = 0; j < num1; j++) { num = reader.ReadInt16(); Item item = new Item(); if (num > 0) { item.netDefaults(reader.ReadInt32()); item.stack = num; item.Prefix((int)reader.ReadByte()); } else if (num < 0) { item.netDefaults(reader.ReadInt32()); item.Prefix((int)reader.ReadByte()); item.stack = 1; } chest.item[j] = item; } for (j = 0; j < num2; j++) { num = reader.ReadInt16(); if (num > 0) { reader.ReadInt32(); reader.ReadByte(); } } Main.chest[i] = chest; } while (i < 1000) { Main.chest[i] = null; i++; } if (WorldFile.versionNumber < 115) { WorldFile.FixDresserChests(); } }
public static void KillTile(int i, int j, bool fail = false, bool effectOnly = false, bool noItem = false) { if (i >= 0 && j >= 0 && i < Main.maxTilesX && j < Main.maxTilesY) { Tile tile = Main.tile[i, j]; if (tile == null) { tile = new Tile(); Main.tile[i, j] = tile; } if (tile.active()) { if (j >= 1 && Main.tile[i, j - 1] == null) { Main.tile[i, j - 1] = new Tile(); } if (j >= 1 && Main.tile[i, j - 1].active() && ((Main.tile[i, j - 1].type == 5 && tile.type != 5) || (Main.tile[i, j - 1].type == 323 && tile.type != 323) || (Main.tile[i, j - 1].type == 21 && tile.type != 21) || (Main.tile[i, j - 1].type == 323 && tile.type != 323) || (Main.tile[i, j - 1].type == 88 && tile.type != 88) || (Main.tile[i, j - 1].type == 26 && tile.type != 26) || (Main.tile[i, j - 1].type == 72 && tile.type != 72))) { if (Main.tile[i, j - 1].type == 5) { if ((Main.tile[i, j - 1].frameX != 66 || Main.tile[i, j - 1].frameY < 0 || Main.tile[i, j - 1].frameY > 44) && (Main.tile[i, j - 1].frameX != 88 || Main.tile[i, j - 1].frameY < 66 || Main.tile[i, j - 1].frameY > 110) && Main.tile[i, j - 1].frameY < 198) { return; } } else if (Main.tile[i, j - 1].type != 323 || Main.tile[i, j - 1].frameX == 66 || Main.tile[i, j - 1].frameX == 220) { return; } } if (tile.type == 10 && tile.frameY >= 594 && tile.frameY <= 646) { fail = true; } if (tile.type == 138) { fail = WorldGen.CheckBoulderChest(i, j); } if (tile.type == 235) { int frameX = (int)tile.frameX; int num = i - frameX % 54 / 18; for (int k = 0; k < 3; k++) { if (Main.tile[num + k, j - 1].active() && Main.tile[num + k, j - 1].type == 21) { fail = true; break; } } } if (!effectOnly && !WorldGen.stopDrops) { if (tile.type == 3 || tile.type == 110) { if (tile.frameX == 144) { Item.NewItem(i * 16, j * 16, 16, 16, 5, 1, false, 0, false, false); } } else if (tile.type == 24) { if (tile.frameX == 144) { Item.NewItem(i * 16, j * 16, 16, 16, 60, 1, false, 0, false, false); } } else if (tile.type == 201) { if (tile.frameX == 270) { Item.NewItem(i * 16, j * 16, 16, 16, 2887, 1, false, 0, false, false); } } } if (tile.type == 128 || tile.type == 269) { int num2 = i; int l = (int)tile.frameX; int m; for (m = (int)tile.frameX; m >= 100; m -= 100) { } while (m >= 36) { m -= 36; } if (m == 18) { l = (int)Main.tile[i - 1, j].frameX; num2--; } if (l >= 100) { int num3 = 0; while (l >= 100) { l -= 100; num3++; } int num4 = (int)(Main.tile[num2, j].frameY / 18); if (num4 == 0) { Item.NewItem(i * 16, j * 16, 16, 16, Item.headType[num3], 1, false, 0, false, false); } if (num4 == 1) { Item.NewItem(i * 16, j * 16, 16, 16, Item.bodyType[num3], 1, false, 0, false, false); } if (num4 == 2) { Item.NewItem(i * 16, j * 16, 16, 16, Item.legType[num3], 1, false, 0, false, false); } for (l = (int)Main.tile[num2, j].frameX; l >= 100; l -= 100) { } Main.tile[num2, j].frameX = (short)l; } } if (tile.type == 334) { int num5 = i; int n = (int)tile.frameX; int num6 = (int)tile.frameX; int num7 = 0; while (num6 >= 5000) { num6 -= 5000; num7++; } if (num7 != 0) { num6 = (num7 - 1) * 18; } num6 %= 54; if (num6 == 18) { n = (int)Main.tile[i - 1, j].frameX; num5--; } if (num6 == 36) { n = (int)Main.tile[i - 2, j].frameX; num5 -= 2; } if (n >= 5000) { int num8 = n % 5000; num8 -= 100; int num9 = (int)Main.tile[num5 + 1, j].frameX; if (num9 >= 25000) { num9 -= 25000; } else { num9 -= 10000; } if (Main.netMode != 1) { Item item = new Item(); item.netDefaults(num8); item.Prefix(num9); int num10 = Item.NewItem(i * 16, j * 16, 16, 16, num8, 1, true, 0, false, false); item.position = Main.item[num10].position; Main.item[num10] = item; NetMessage.SendData(21, -1, -1, "", num10, 0f, 0f, 0f, 0, 0, 0); } n = (int)Main.tile[num5, j].frameX; int num11 = 0; while (n >= 5000) { n -= 5000; num11++; } if (num11 != 0) { n = (num11 - 1) * 18; } Main.tile[num5, j].frameX = (short)n; Main.tile[num5 + 1, j].frameX = (short)(n + 18); } } if (tile.type == 395) { int num12 = TEItemFrame.Find(i - (int)(tile.frameX % 36 / 18), j - (int)(tile.frameY % 36 / 18)); if (num12 != -1 && ((TEItemFrame)TileEntity.ByID[num12]).item.stack > 0) { ((TEItemFrame)TileEntity.ByID[num12]).DropItem(); if (Main.netMode != 2) { Main.blockMouse = true; } return; } } int num13 = 10; if (tile.type == 231) { num13 = 6; } if (fail) { num13 = 3; } if (tile.type == 138) { num13 = 0; } if (tile.type == 373) { num13 = 0; } if (tile.type == 374) { num13 = 0; } if (tile.type == 375) { num13 = 0; } if (tile.type >= 300 && tile.type <= 308) { num13 = 0; } if (tile.type == 125) { num13 = 0; } if (tile.type == 287) { num13 = 0; } if (tile.type == 354) { num13 = 0; } if (tile.type == 355) { num13 = 0; } if (tile.type == 376) { num13 = 0; } int num14 = 0; while (num14 < num13) { int num15 = 0; if (tile.type == 216) { num15 = -1; } if (tile.type == 335) { num15 = -1; } if (tile.type == 338) { num15 = -1; } if (tile.type == 0) { num15 = 0; } if (tile.type == 192) { num15 = 3; } if (tile.type == 208) { num15 = 126; } else if (tile.type == 408 || tile.type == 409) { num15 = 265; } if (tile.type == 16) { num15 = 1; if (tile.frameX >= 36) { num15 = 82; } } else if (tile.type == 415) { num15 = 6; } else if (tile.type == 416) { num15 = 61; } else if (tile.type == 417) { num15 = 242; } else if (tile.type == 418) { num15 = 135; } if (tile.type == 1 || tile.type == 17 || tile.type == 38 || tile.type == 39 || tile.type == 41 || tile.type == 43 || tile.type == 44 || tile.type == 48 || Main.tileStone[(int)tile.type] || tile.type == 85 || tile.type == 90 || tile.type == 92 || tile.type == 96 || tile.type == 97 || tile.type == 99 || tile.type == 117 || tile.type == 130 || tile.type == 131 || tile.type == 132 || tile.type == 135 || tile.type == 135 || tile.type == 142 || tile.type == 143 || tile.type == 144 || tile.type == 210 || tile.type == 207 || tile.type == 235 || tile.type == 247 || tile.type == 272 || tile.type == 273 || tile.type == 283 || tile.type == 410) { num15 = 1; } if (tile.type == 379) { num15 = 257; } if (tile.type == 311) { num15 = 207; } if (tile.type == 312) { num15 = 208; } if (tile.type == 313) { num15 = 209; } if (tile.type == 104) { num15 = -1; } if (tile.type == 95 || tile.type == 98 || tile.type == 100 || tile.type == 174 || tile.type == 173) { num15 = 6; } if (tile.type == 30 || tile.type == 86 || tile.type == 94 || tile.type == 106 || tile.type == 114 || tile.type == 124 || tile.type == 128 || tile.type == 269) { num15 = 7; } if (tile.type == 372) { num15 = 242; } if (tile.type == 371) { num15 = 243; } if (tile.type == 334) { num15 = 7; } ushort type = tile.type; if (type <= 139) { if (type <= 89) { switch (type) { case 10: case 11: goto IL_14A0; default: switch (type) { case 87: case 89: goto IL_14A0; } break; } } else if (type == 93 || type == 139) { goto IL_14A0; } } else if (type <= 320) { if (type == 209) { goto IL_14A0; } switch (type) { case 319: case 320: goto IL_14A0; } } else { switch (type) { case 386: case 387: case 390: goto IL_14A0; case 388: case 389: break; default: switch (type) { case 405: case 406: case 411: case 412: goto IL_14A0; case 407: num15 = 10; break; } break; } } IL_14A9: if (tile.type == 240) { int num16 = (int)(tile.frameX / 54); if (tile.frameY >= 54) { num16 += 36; } num15 = 7; if (num16 == 16 || num16 == 17) { num15 = 26; } if (num16 >= 46 && num16 <= 49) { num15 = -1; } } if (tile.type == 241) { num15 = 1; } if (tile.type == 242) { num15 = -1; } if (tile.type == 356) { num15 = -1; } if (tile.type == 351) { num15 = -1; } if (tile.type == 246) { num15 = -1; } if (tile.type == 36) { num15 = -1; } if (tile.type == 365) { num15 = 239; } if (tile.type == 366) { num15 = 30; } if (tile.type == 357 || tile.type == 367) { num15 = 236; } if (tile.type == 368 || tile.type == 369) { num15 = 240; } if (tile.type == 170) { num15 = 196; } if (tile.type == 315) { num15 = 225; } if (tile.type == 346) { num15 = 128; } if (tile.type == 347) { num15 = 117; } if (tile.type == 348) { num15 = 42; } if (tile.type == 350) { num15 = 226; } if (tile.type == 370) { if (WorldGen.genRand.Next(2) == 0) { num15 = 6; } else { num15 = 23; } } if (tile.type == 171) { if (WorldGen.genRand.Next(2) == 0) { num15 = 196; } else { num15 = -1; } } if (tile.type == 326) { num15 = 13; } if (tile.type == 327) { num15 = 13; } if (tile.type == 345) { num15 = 13; } if (tile.type == 336) { num15 = 6; } if (tile.type == 340) { num15 = 75; } if (tile.type == 341) { num15 = 65; } if (tile.type == 342) { num15 = 135; } if (tile.type == 343) { num15 = 169; } if (tile.type == 344) { num15 = 156; } if (tile.type == 328) { num15 = 13; } if (tile.type == 329) { num15 = 13; } if (tile.type == 330) { num15 = 9; } if (tile.type == 331) { num15 = 11; } if (tile.type == 332) { num15 = 19; } if (tile.type == 333) { num15 = 11; } if (tile.type == 101) { num15 = -1; } if (tile.type == 19) { int num17 = (int)(tile.frameY / 18); if (num17 == 0 || num17 == 9 || num17 == 10 || num17 == 11 || num17 == 12) { num15 = 7; } else if (num17 == 1) { num15 = 77; } else if (num17 == 2) { num15 = 78; } else if (num17 == 3) { num15 = 79; } else if (num17 == 4) { num15 = 26; } else if (num17 == 5) { num15 = 126; } else if (num17 == 13) { num15 = 109; } else if (num17 == 14) { num15 = 13; } else if (num17 >= 15 || num17 <= 16) { num15 = -1; } else if (num17 == 17) { num15 = 215; } else if (num17 == 18) { num15 = 214; } else { num15 = 1; } } if (tile.type == 79) { int num18 = (int)(tile.frameY / 36); if (num18 == 0) { num15 = 7; } else if (num18 == 1) { num15 = 77; } else if (num18 == 2) { num15 = 78; } else if (num18 == 3) { num15 = 79; } else if (num18 == 4) { num15 = 126; } else if (num18 == 8) { num15 = 109; } else if (num18 >= 9) { num15 = -1; } else { num15 = 1; } } if (tile.type == 18) { int num19 = (int)(tile.frameX / 36); if (num19 == 0) { num15 = 7; } else if (num19 == 1) { num15 = 77; } else if (num19 == 2) { num15 = 78; } else if (num19 == 3) { num15 = 79; } else if (num19 == 4) { num15 = 26; } else if (num19 == 5) { num15 = 40; } else if (num19 == 6) { num15 = 5; } else if (num19 == 7) { num15 = 26; } else if (num19 == 8) { num15 = 4; } else if (num19 == 9) { num15 = 126; } else if (num19 == 10) { num15 = 148; } else if (num19 == 11 || num19 == 12 || num19 == 13) { num15 = 1; } else if (num19 == 14) { num15 = 109; } else if (num19 == 15) { num15 = 126; } else { num15 = -1; } } if (tile.type == 14 || tile.type == 87 || tile.type == 88) { num15 = -1; } if (tile.type >= 255 && tile.type <= 261) { int num20 = (int)(tile.type - 255); num15 = 86 + num20; if (num20 == 6) { num15 = 138; } } if (tile.type >= 262 && tile.type <= 268) { int num21 = (int)(tile.type - 262); num15 = 86 + num21; if (num21 == 6) { num15 = 138; } } if (tile.type == 178) { int num22 = (int)(tile.frameX / 18); num15 = 86 + num22; if (num22 == 6) { num15 = 138; } } if (tile.type == 186) { if (tile.frameX <= 360) { num15 = 26; } else if (tile.frameX <= 846) { num15 = 1; } else if (tile.frameX <= 954) { num15 = 9; } else if (tile.frameX <= 1062) { num15 = 11; } else if (tile.frameX <= 1170) { num15 = 10; } else if (tile.frameX <= 1332) { num15 = 0; } else if (tile.frameX <= 1386) { num15 = 10; } else { num15 = 80; } } if (tile.type == 187) { if (tile.frameX <= 144) { num15 = 1; } else if (tile.frameX <= 306) { num15 = 38; } else if (tile.frameX <= 468) { num15 = 36; } else if (tile.frameX <= 738) { num15 = 30; } else if (tile.frameX <= 970) { num15 = 1; } else if (tile.frameX <= 1132) { num15 = 148; } else if (tile.frameX <= 1132) { num15 = 155; } else if (tile.frameX <= 1348) { num15 = 1; } else if (tile.frameX <= 1564) { num15 = 0; } } if (tile.type == 105) { num15 = 1; if (tile.frameX >= 1548 && tile.frameX <= 1654) { num15 = 148; } } if (tile.type == 349) { num15 = 1; } if (tile.type == 337) { num15 = 1; } if (tile.type == 239) { int num23 = (int)(tile.frameX / 18); if (num23 == 0) { num15 = 9; } if (num23 == 1) { num15 = 81; } if (num23 == 2) { num15 = 8; } if (num23 == 3) { num15 = 82; } if (num23 == 4) { num15 = 11; } if (num23 == 5) { num15 = 83; } if (num23 == 6) { num15 = 10; } if (num23 == 7) { num15 = 84; } if (num23 == 8) { num15 = 14; } if (num23 == 9) { num15 = 23; } if (num23 == 10) { num15 = 25; } if (num23 == 11) { num15 = 48; } if (num23 == 12) { num15 = 144; } if (num23 == 13) { num15 = 49; } if (num23 == 14) { num15 = 145; } if (num23 == 15) { num15 = 50; } if (num23 == 16) { num15 = 146; } if (num23 == 17) { num15 = 128; } if (num23 == 18) { num15 = 84; } if (num23 == 19) { num15 = 117; } if (num23 == 20) { num15 = 42; } if (num23 == 21) { num15 = -1; } if (num23 == 22) { num15 = 265; } } if (tile.type == 185) { if (tile.frameY == 18) { int num24 = (int)(tile.frameX / 36); if (num24 < 6) { num15 = 1; } else if (num24 < 16) { num15 = 26; } else if (num24 == 16) { num15 = 9; } else if (num24 == 17) { num15 = 11; } else if (num24 == 18) { num15 = 10; } else if (num24 == 19) { num15 = 86; } else if (num24 == 20) { num15 = 87; } else if (num24 == 21) { num15 = 88; } else if (num24 == 22) { num15 = 89; } else if (num24 == 23) { num15 = 90; } else if (num24 == 24) { num15 = 91; } else if (num24 < 31) { num15 = 80; } else if (num24 < 33) { num15 = 7; } else if (num24 < 34) { num15 = 8; } else if (num24 < 39) { num15 = 30; } else if (num24 < 42) { num15 = 1; } } else { int num25 = (int)(tile.frameX / 18); if (num25 < 6) { num15 = 1; } else if (num25 < 12) { num15 = 0; } else if (num25 < 27) { num15 = 26; } else if (num25 < 32) { num15 = 1; } else if (num25 < 35) { num15 = 0; } else if (num25 < 46) { num15 = 80; } else if (num25 < 52) { num15 = 30; } } } if (tile.type == 184) { int num26 = (int)(tile.frameX / 22); if (num26 == 5) { num15 = 258; } else { num15 = 93 + num26; } } if (tile.type == 237) { num15 = 148; } if (tile.type == 157) { num15 = 77; } if (tile.type == 158 || tile.type == 232 || tile.type == 383) { num15 = 78; } if (tile.type == 159) { num15 = 78; } if (tile.type == 15) { num15 = -1; } if (tile.type == 191) { num15 = 7; } if (tile.type == 5) { num15 = 7; if (i > 5 && i < Main.maxTilesX - 5) { int num27 = i; int num28 = j; if (tile.frameX == 66 && tile.frameY <= 45) { num27++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num27--; } if (tile.frameX == 22 && tile.frameY >= 132 && tile.frameY <= 176) { num27--; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num27++; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num27++; } if (tile.frameX == 44 && tile.frameY >= 198) { num27++; } if (tile.frameX == 66 && tile.frameY >= 198) { num27--; } while (Main.tile[num27, num28] != null && (!Main.tile[num27, num28].active() || !Main.tileSolid[(int)Main.tile[num27, num28].type])) { num28++; } if (Main.tile[num27, num28] != null) { if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == 23) { num15 = 77; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == 60) { num15 = 78; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == 70) { num15 = 26; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == 109) { num15 = 79; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == 199) { num15 = 121; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == 147) { num15 = 122; } } } } if (tile.type == 323) { num15 = 215; if (i > 5 && i < Main.maxTilesX - 5) { int num29 = j; while (Main.tile[i, num29] != null && (!Main.tile[i, num29].active() || !Main.tileSolid[(int)Main.tile[i, num29].type])) { num29++; } if (Main.tile[i, num29] != null) { if (Main.tile[i, num29].active() && Main.tile[i, num29].type == 234) { num15 = 121; } if (Main.tile[i, num29].active() && Main.tile[i, num29].type == 116) { num15 = 79; } if (Main.tile[i, num29].active() && Main.tile[i, num29].type == 112) { num15 = 77; } } } } if (tile.type == 137) { num15 = 1; int num30 = (int)(tile.frameY / 18); if (num30 > 0) { num15 = 148; } } if (tile.type == 212) { num15 = -1; } if (tile.type == 213) { num15 = 129; } if (tile.type == 214) { num15 = 1; } if (tile.type == 215) { num15 = -6; } if (tile.type == 325) { num15 = 81; } if (tile.type == 251) { num15 = 189; } if (tile.type == 252) { num15 = 190; } if (tile.type == 253) { num15 = 191; } if (tile.type == 254) { if (tile.frameX < 72) { num15 = 3; } else if (tile.frameX < 108) { num15 = 3; if (WorldGen.genRand.Next(3) == 0) { num15 = 189; } } else if (tile.frameX < 144) { num15 = 3; if (WorldGen.genRand.Next(2) == 0) { num15 = 189; } } else { num15 = 3; if (WorldGen.genRand.Next(4) != 0) { num15 = 189; } } } if (tile.type == 21) { if (tile.frameX >= 1008) { num15 = -1; } else if (tile.frameX >= 612) { num15 = 11; } else if (tile.frameX >= 576) { num15 = 148; } else if (tile.frameX >= 540) { num15 = 26; } else if (tile.frameX >= 504) { num15 = 126; } else if (tile.frameX >= 468) { num15 = 116; } else if (tile.frameX >= 432) { num15 = 7; } else if (tile.frameX >= 396) { num15 = 11; } else if (tile.frameX >= 360) { num15 = 10; } else if (tile.frameX >= 324) { num15 = 79; } else if (tile.frameX >= 288) { num15 = 78; } else if (tile.frameX >= 252) { num15 = 77; } else if (tile.frameX >= 216) { num15 = 1; } else if (tile.frameX >= 180) { num15 = 7; } else if (tile.frameX >= 108) { num15 = 37; } else if (tile.frameX >= 36) { num15 = 10; } else { num15 = 7; } } if (tile.type == 2) { if (WorldGen.genRand.Next(2) == 0) { num15 = 0; } else { num15 = 2; } } if (Main.tileMoss[(int)tile.type]) { if (tile.type == 381) { num15 = 258; } else { num15 = (int)(tile.type - 179 + 93); } } if (tile.type == 127) { num15 = 67; } if (tile.type == 91) { num15 = -1; } if (tile.type == 198) { num15 = 109; } if (tile.type == 26) { if (tile.frameX >= 54) { num15 = 5; } else { num15 = 8; } } if (tile.type == 34) { num15 = -1; } if (tile.type == 6) { num15 = 8; } if (tile.type == 7 || tile.type == 47 || tile.type == 284) { num15 = 9; } if (tile.type == 8 || tile.type == 45 || tile.type == 102) { num15 = 10; } if (tile.type == 9 || tile.type == 42 || tile.type == 46 || tile.type == 126 || tile.type == 136) { num15 = 11; } if (tile.type == 166 || tile.type == 175) { num15 = 81; } if (tile.type == 167) { num15 = 82; } if (tile.type == 168 || tile.type == 176) { num15 = 83; } if (tile.type == 169 || tile.type == 177) { num15 = 84; } if (tile.type == 199) { num15 = 117; } if (tile.type == 205) { num15 = 125; } if (tile.type == 201) { num15 = 125; } if (tile.type == 211) { num15 = 128; } if (tile.type == 227) { int num31 = (int)(tile.frameX / 34); if (num31 == 0 || num31 == 1) { num15 = 26; } else if (num31 == 3) { num15 = 3; } else if (num31 == 2 || num31 == 4 || num31 == 5 || num31 == 6) { num15 = 40; } else if (num31 == 7) { num15 = 117; } else if (num31 == 8) { num15 = 17; } else if (num31 == 9) { num15 = 6; } else if (num31 == 10) { num15 = 3; } else if (num31 == 11) { num15 = 26; } } if (tile.type == 204) { num15 = 117; if (WorldGen.genRand.Next(2) == 0) { num15 = 1; } } if (tile.type == 203) { num15 = 117; } if (tile.type == 243) { if (WorldGen.genRand.Next(2) == 0) { num15 = 7; } else { num15 = 13; } } if (tile.type == 244) { if (WorldGen.genRand.Next(2) == 0) { num15 = 1; } else { num15 = 13; } } else if ((tile.type >= 358 && tile.type <= 364) || (tile.type >= 275 && tile.type <= 282) || (tile.type == 285 || tile.type == 286 || (tile.type >= 288 && tile.type <= 297)) || (tile.type >= 316 && tile.type <= 318) || tile.type == 298 || tile.type == 299 || tile.type == 309 || tile.type == 310 || tile.type == 339 || tile.type == 413 || tile.type == 414) { num15 = 13; if (WorldGen.genRand.Next(3) != 0) { num15 = -1; } } if (tile.type == 13) { if (tile.frameX >= 90) { num15 = -1; } else { num15 = 13; } } if (tile.type == 189) { num15 = 16; } if (tile.type == 12) { num15 = 12; } if (tile.type == 3 || tile.type == 73) { num15 = 3; } if (tile.type == 54) { num15 = 13; } if (tile.type == 22 || tile.type == 140) { num15 = 14; } if (tile.type == 78) { num15 = 22; } if (tile.type == 28) { num15 = 22; if (tile.frameY >= 72 && tile.frameY <= 90) { num15 = 1; } if (tile.frameY >= 144 && tile.frameY <= 234) { num15 = 48; } if (tile.frameY >= 252 && tile.frameY <= 358) { num15 = 85; } if (tile.frameY >= 360 && tile.frameY <= 466) { num15 = 26; } if (tile.frameY >= 468 && tile.frameY <= 574) { num15 = 36; } if (tile.frameY >= 576 && tile.frameY <= 790) { num15 = 18; } if (tile.frameY >= 792 && tile.frameY <= 898) { num15 = 5; } if (tile.frameY >= 900 && tile.frameY <= 1006) { num15 = 0; } if (tile.frameY >= 1008 && tile.frameY <= 1114) { num15 = 148; } if (tile.frameY >= 1116 && tile.frameY <= 1222) { num15 = 241; } } if (tile.type == 163) { num15 = 118; } if (tile.type == 164) { num15 = 119; } if (tile.type == 200) { num15 = 120; } if (tile.type == 221 || tile.type == 248) { num15 = 144; } if (tile.type == 222 || tile.type == 249) { num15 = 145; } if (tile.type == 223 || tile.type == 250) { num15 = 146; } if (tile.type == 224) { num15 = 149; } if (tile.type == 225) { num15 = 147; } if (tile.type == 229) { num15 = 153; } if (tile.type == 231) { num15 = 153; if (WorldGen.genRand.Next(3) == 0) { num15 = 26; } } if (tile.type == 226) { num15 = 148; } if (tile.type == 103) { num15 = -1; } if (tile.type == 29) { num15 = 23; } if (tile.type == 40) { num15 = 28; } if (tile.type == 49) { num15 = 29; } if (tile.type == 50) { num15 = 22; } if (tile.type == 51) { num15 = 30; } if (tile.type == 52 || tile.type == 353) { num15 = 3; } if (tile.type == 53 || tile.type == 81 || tile.type == 151 || tile.type == 202 || tile.type == 274) { num15 = 32; } if (tile.type == 56 || tile.type == 152) { num15 = 37; } if (tile.type == 75) { num15 = 109; } if (tile.type == 57 || tile.type == 119 || tile.type == 141 || tile.type == 234) { num15 = 36; } if (tile.type == 59 || tile.type == 120) { num15 = 38; } if (tile.type == 61 || tile.type == 62 || tile.type == 74 || tile.type == 80 || tile.type == 188 || tile.type == 233 || tile.type == 236 || tile.type == 384) { num15 = 40; } if (tile.type == 238) { if (WorldGen.genRand.Next(3) == 0) { num15 = 167; } else { num15 = 166; } } if (tile.type == 69) { num15 = 7; } if (tile.type == 71 || tile.type == 72 || tile.type == 190) { num15 = 26; } if (tile.type == 70) { num15 = 17; } if (tile.type == 112) { num15 = 14; } if (tile.type == 123) { num15 = 53; } if (tile.type == 161) { num15 = 80; } if (tile.type == 206) { num15 = 80; } if (tile.type == 162) { num15 = 80; } if (tile.type == 165) { if (tile.frameX < 54) { num15 = 80; } else if (tile.frameX >= 324) { num15 = 117; } else if (tile.frameX >= 270) { num15 = 14; } else if (tile.frameX >= 216) { num15 = 1; } else if (tile.frameX >= 162) { num15 = 147; } else if (tile.frameX >= 108) { num15 = 30; } else { num15 = 1; } } if (tile.type == 193) { num15 = 4; } if (tile.type == 194) { num15 = 26; } if (tile.type == 195) { num15 = 5; } if (tile.type == 196) { num15 = 108; } if (tile.type == 197) { num15 = 4; } if (tile.type == 153) { num15 = 26; } if (tile.type == 154) { num15 = 32; } if (tile.type == 155) { num15 = 2; } if (tile.type == 156) { num15 = 1; } if (tile.type == 116 || tile.type == 118 || tile.type == 147 || tile.type == 148) { num15 = 51; } if (tile.type == 109) { if (WorldGen.genRand.Next(2) == 0) { num15 = 0; } else { num15 = 47; } } if (tile.type == 110 || tile.type == 113 || tile.type == 115) { num15 = 47; } if (tile.type == 107 || tile.type == 121) { num15 = 48; } if (tile.type == 108 || tile.type == 122 || tile.type == 146) { num15 = 49; } if (tile.type == 111 || tile.type == 145 || tile.type == 150) { num15 = 50; } if (tile.type == 133) { num15 = 50; if (tile.frameX >= 54) { num15 = 146; } } if (tile.type == 134) { num15 = 49; if (tile.frameX >= 36) { num15 = 145; } } if (tile.type == 149) { num15 = 49; } if (Main.tileAlch[(int)tile.type]) { int num32 = (int)(tile.frameX / 18); if (num32 == 0) { num15 = 3; } if (num32 == 1) { num15 = 3; } if (num32 == 2) { num15 = 7; } if (num32 == 3) { num15 = 17; } if (num32 == 4) { num15 = 3; } if (num32 == 5) { num15 = 6; } if (num32 == 6) { num15 = 224; } } if (tile.type == 58 || tile.type == 76 || tile.type == 77) { if (WorldGen.genRand.Next(2) == 0) { num15 = 6; } else { num15 = 25; } } if (tile.type == 37) { if (WorldGen.genRand.Next(2) == 0) { num15 = 6; } else { num15 = 23; } } if (tile.type == 32) { if (WorldGen.genRand.Next(2) == 0) { num15 = 14; } else { num15 = 24; } } if (tile.type == 352) { if (WorldGen.genRand.Next(3) == 0) { num15 = 5; } else { num15 = 125; } } if (tile.type == 23 || tile.type == 24) { if (WorldGen.genRand.Next(2) == 0) { num15 = 14; } else { num15 = 17; } } if (tile.type == 25 || tile.type == 31) { if (tile.type == 31 && tile.frameX >= 36) { num15 = 5; } else if (WorldGen.genRand.Next(2) == 0) { num15 = 14; } else { num15 = 1; } } if (tile.type == 20) { int num33 = (int)(tile.frameX / 54); if (num33 == 1) { num15 = 122; } else if (num33 == 2) { num15 = 78; } else if (num33 == 3) { num15 = 77; } else if (num33 == 4) { num15 = 121; } else if (num33 == 5) { num15 = 79; } else { num15 = 7; } } if (tile.type == 27) { if (WorldGen.genRand.Next(2) == 0) { num15 = 3; } else { num15 = 19; } } if (tile.type == 129) { if (tile.frameX == 0 || tile.frameX == 54 || tile.frameX == 108) { num15 = 68; } else if (tile.frameX == 18 || tile.frameX == 72 || tile.frameX == 126) { num15 = 69; } else { num15 = 70; } } if (tile.type == 385) { num15 = WorldGen.genRand.Next(68, 71); } if (tile.type == 4) { int num34 = (int)(tile.frameY / 22); if (num34 == 0) { num15 = 6; } else if (num34 == 8) { num15 = 75; } else if (num34 == 9) { num15 = 135; } else if (num34 == 10) { num15 = 158; } else if (num34 == 11) { num15 = 169; } else if (num34 == 12) { num15 = 156; } else if (num34 == 13) { num15 = 234; } else if (num34 == 14) { num15 = 66; } else if (num34 == 15) { num15 = 242; } else { num15 = 58 + num34; } } if (tile.type == 35) { num15 = 189; if (tile.frameX < 36 && WorldGen.genRand.Next(2) == 0) { num15 = 6; } } if ((tile.type == 34 || tile.type == 42) && WorldGen.genRand.Next(2) == 0) { num15 = 6; } if (tile.type == 270) { num15 = -1; } if (tile.type == 271) { num15 = -1; } if (tile.type == 79 || tile.type == 90 || tile.type == 101) { num15 = -1; } if (tile.type == 33 || tile.type == 34 || tile.type == 42 || tile.type == 93 || tile.type == 100) { num15 = -1; } if (tile.type == 321) { num15 = 214; } if (tile.type == 322) { num15 = 215; } num14++; continue; IL_14A0: num15 = -1; goto IL_14A9; } if (effectOnly) { return; } if (fail) { if (tile.type == 2 || tile.type == 23 || tile.type == 109 || tile.type == 199) { tile.type = 0; } if (tile.type == 60 || tile.type == 70) { tile.type = 59; } if (Main.tileMoss[(int)tile.type]) { tile.type = 1; } WorldGen.SquareTileFrame(i, j, true); return; } if (tile.type == 21 && Main.netMode != 1) { int num41 = (int)(tile.frameX / 18); int y = j - (int)(tile.frameY / 18); while (num41 > 1) { num41 -= 2; } num41 = i - num41; if (!Chest.DestroyChest(num41, y)) { return; } } if (tile.type == 88 && Main.netMode != 1) { int num42 = (int)(tile.frameX / 18); int y2 = j - (int)(tile.frameY / 18); num42 %= 3; num42 = i - num42; if (!Chest.DestroyChest(num42, y2)) { return; } } if (tile.type == 51 && tile.wall == 62 && WorldGen.genRand.Next(4) != 0) { noItem = true; } if (!noItem && !WorldGen.stopDrops && Main.netMode != 1) { bool flag = false; int num43 = -1; int num44 = -1; int num45 = -1; if (tile.type == 3) { num43 = 400; num44 = 100; if (tile.frameX >= 108) { num43 *= 3; num44 *= 3; } } if (tile.type == 73) { num43 = 200; num44 = 50; if (tile.frameX >= 108) { num43 *= 3; num44 *= 3; } } if (tile.type == 61) { num45 = 80; if (tile.frameX >= 108) { num45 *= 3; } } if (tile.type == 74) { num45 = 40; if (tile.frameX >= 108) { num45 *= 3; } } if (tile.type == 62) { num45 = 250; } if (tile.type == 185) { if (tile.frameY == 0 && tile.frameX < 214) { num43 = 6; } if (tile.frameY == 18 && (tile.frameX < 214 || tile.frameX >= 1368)) { num43 = 6; } } else if (tile.type == 186) { if (tile.frameX >= 378 && tile.frameX <= 700) { num43 = 6; } } else if (tile.type == 187) { if (tile.frameX >= 756 && tile.frameX <= 916) { num43 = 6; } if (tile.frameX <= 322) { num43 = 6; } } else if (tile.type == 233) { num45 = 10; } if (num43 > 0 && NPC.CountNPCS(357) < 5 && WorldGen.genRand.Next(num43) == 0) { int type2 = 357; if (WorldGen.genRand.Next(NPC.goldCritterChance) == 0) { type2 = 448; } int num46 = NPC.NewNPC(i * 16 + 10, j * 16, type2, 0, 0f, 0f, 0f, 0f, 255); Main.npc[num46].TargetClosest(true); Main.npc[num46].velocity.Y = (float)WorldGen.genRand.Next(-50, -21) * 0.1f; Main.npc[num46].velocity.X = (float)WorldGen.genRand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num46].direction); Main.npc[num46].direction *= -1; Main.npc[num46].netUpdate = true; } if (num44 > 0 && NPC.CountNPCS(377) < 5 && WorldGen.genRand.Next(num44) == 0) { int type3 = 377; if (WorldGen.genRand.Next(NPC.goldCritterChance) == 0) { type3 = 446; } int num47 = NPC.NewNPC(i * 16 + 10, j * 16, type3, 0, 0f, 0f, 0f, 0f, 255); Main.npc[num47].TargetClosest(true); Main.npc[num47].velocity.Y = (float)WorldGen.genRand.Next(-50, -21) * 0.1f; Main.npc[num47].velocity.X = (float)WorldGen.genRand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num47].direction); Main.npc[num47].direction *= -1; Main.npc[num47].netUpdate = true; } if (num45 > 0 && NPC.CountNPCS(485) + NPC.CountNPCS(486) + NPC.CountNPCS(487) < 8 && WorldGen.genRand.Next(num45) == 0) { int type4 = 485; if (WorldGen.genRand.Next(4) == 0) { type4 = 486; } if (WorldGen.genRand.Next(12) == 0) { type4 = 487; } int num48 = NPC.NewNPC(i * 16 + 10, j * 16, type4, 0, 0f, 0f, 0f, 0f, 255); Main.npc[num48].TargetClosest(true); Main.npc[num48].velocity.Y = (float)WorldGen.genRand.Next(-50, -21) * 0.1f; Main.npc[num48].velocity.X = (float)WorldGen.genRand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num48].direction); Main.npc[num48].direction *= -1; Main.npc[num48].netUpdate = true; } int num49 = 0; int num50 = 0; if (tile.type == 0 || tile.type == 2 || tile.type == 109) { num49 = 2; } else if (tile.type == 368) { num49 = 3086; } else if (tile.type == 369) { num49 = 3087; } else if (tile.type == 367) { num49 = 3081; } else if (tile.type == 379) { num49 = 3214; } else if (tile.type == 353) { num49 = 2996; } else if (tile.type == 365) { num49 = 3077; } else if (tile.type == 366) { num49 = 3078; } else if ((tile.type == 52 || tile.type == 62) && WorldGen.genRand.Next(2) == 0 && Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].cordage) { num49 = 2996; } else if (tile.type == 357) { num49 = 3066; } else if (tile.type == 1) { num49 = 3; } else if (tile.type == 3 || tile.type == 73) { if (WorldGen.genRand.Next(2) == 0 && (Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].HasItem(281) || Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].HasItem(986))) { num49 = 283; } } else if (tile.type == 227) { int num51 = (int)(tile.frameX / 34); num49 = 1107 + num51; if (num51 >= 8 && num51 <= 11) { num49 = 3385 + num51 - 8; } } else if (tile.type == 4) { int num52 = (int)(tile.frameY / 22); if (num52 == 0) { num49 = 8; } else if (num52 == 8) { num49 = 523; } else if (num52 == 9) { num49 = 974; } else if (num52 == 10) { num49 = 1245; } else if (num52 == 11) { num49 = 1333; } else if (num52 == 12) { num49 = 2274; } else if (num52 == 13) { num49 = 3004; } else if (num52 == 14) { num49 = 3045; } else if (num52 == 15) { num49 = 3114; } else { num49 = 426 + num52; } } else if (tile.type == 239) { int num53 = (int)(tile.frameX / 18); if (num53 == 0) { num49 = 20; } if (num53 == 1) { num49 = 703; } if (num53 == 2) { num49 = 22; } if (num53 == 3) { num49 = 704; } if (num53 == 4) { num49 = 21; } if (num53 == 5) { num49 = 705; } if (num53 == 6) { num49 = 19; } if (num53 == 7) { num49 = 706; } if (num53 == 8) { num49 = 57; } if (num53 == 9) { num49 = 117; } if (num53 == 10) { num49 = 175; } if (num53 == 11) { num49 = 381; } if (num53 == 12) { num49 = 1184; } if (num53 == 13) { num49 = 382; } if (num53 == 14) { num49 = 1191; } if (num53 == 15) { num49 = 391; } if (num53 == 16) { num49 = 1198; } if (num53 == 17) { num49 = 1006; } if (num53 == 18) { num49 = 1225; } if (num53 == 19) { num49 = 1257; } if (num53 == 20) { num49 = 1552; } if (num53 == 21) { num49 = 3261; } if (num53 == 22) { num49 = 3467; } } else if (tile.type == 380) { int num54 = (int)(tile.frameY / 18); num49 = 3215 + num54; } else if (tile.type == 383) { num49 = 620; } else if (tile.type == 315) { num49 = 2435; } else if (tile.type == 330) { num49 = 71; } else if (tile.type == 331) { num49 = 72; } else if (tile.type == 332) { num49 = 73; } else if (tile.type == 333) { num49 = 74; } else if (tile.type == 5) { if (tile.frameX >= 22 && tile.frameY >= 198) { if (Main.netMode != 1) { if (WorldGen.genRand.Next(2) == 0) { int num55 = j; while (Main.tile[i, num55] != null && (!Main.tile[i, num55].active() || !Main.tileSolid[(int)Main.tile[i, num55].type] || Main.tileSolidTop[(int)Main.tile[i, num55].type])) { num55++; } if (Main.tile[i, num55] != null) { if (Main.tile[i, num55].type == 2 || Main.tile[i, num55].type == 109 || Main.tile[i, num55].type == 147 || Main.tile[i, num55].type == 199 || Main.tile[i, num55].type == 23) { num49 = 9; num50 = 27; } else { num49 = 9; } } } else { num49 = 9; } } } else { num49 = 9; } if (num49 == 9) { int num56 = i; int num57 = j; if (tile.frameX == 66 && tile.frameY <= 45) { num56++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num56--; } if (tile.frameX == 22 && tile.frameY >= 132 && tile.frameY <= 176) { num56--; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num56++; } if (tile.frameX == 44 && tile.frameY >= 198) { num56++; } if (tile.frameX == 66 && tile.frameY >= 198) { num56--; } while (!Main.tile[num56, num57].active() || !Main.tileSolid[(int)Main.tile[num56, num57].type]) { num57++; } if (Main.tile[num56, num57].active()) { ushort type = Main.tile[num56, num57].type; if (type <= 70) { if (type != 23) { if (type != 60) { if (type == 70) { num49 = 183; } } else { num49 = 620; } } else { num49 = 619; } } else if (type != 109) { if (type != 147) { if (type == 199) { num49 = 911; } } else { num49 = 2503; } } else { num49 = 621; } } int num58 = (int)Player.FindClosest(new Vector2((float)(num56 * 16), (float)(num57 * 16)), 16, 16); int axe = Main.player[num58].inventory[Main.player[num58].selectedItem].axe; if (WorldGen.genRand.Next(200) < axe) { flag = true; } } } else if (tile.type == 323) { num49 = 2504; if (tile.frameX <= 132 && tile.frameX >= 88) { num50 = 27; } int num59 = j; while (!Main.tile[i, num59].active() || !Main.tileSolid[(int)Main.tile[i, num59].type]) { num59++; } if (Main.tile[i, num59].active()) { ushort type = Main.tile[i, num59].type; if (type != 112) { if (type != 116) { if (type == 234) { num49 = 911; } } else { num49 = 621; } } else { num49 = 619; } } } else if (tile.type == 408) { num49 = 3460; } else if (tile.type == 409) { num49 = 3461; } else if (tile.type == 415) { num49 = 3573; } else if (tile.type == 416) { num49 = 3574; } else if (tile.type == 417) { num49 = 3575; } else if (tile.type == 418) { num49 = 3576; } else if (tile.type >= 255 && tile.type <= 261) { num49 = (int)(1970 + tile.type - 255); } else if (tile.type >= 262 && tile.type <= 268) { num49 = (int)(1970 + tile.type - 262); } else if (tile.type == 171) { if (tile.frameX >= 10) { WorldGen.dropXmasTree(i, j, 0); WorldGen.dropXmasTree(i, j, 1); WorldGen.dropXmasTree(i, j, 2); WorldGen.dropXmasTree(i, j, 3); } } else if (tile.type == 324) { switch (tile.frameY / 22) { case 0: num49 = 2625; break; case 1: num49 = 2626; break; } } else if (tile.type == 272) { num49 = 1344; } else if (tile.type == 273) { num49 = 2119; } else if (tile.type == 274) { num49 = 2120; } else if (tile.type == 326) { num49 = 2693; } else if (tile.type == 327) { num49 = 2694; } else if (tile.type == 345) { num49 = 2787; } else if (tile.type == 328) { num49 = 2695; } else if (tile.type == 329) { num49 = 2697; } else if (tile.type == 346) { num49 = 2792; } else if (tile.type == 347) { num49 = 2793; } else if (tile.type == 348) { num49 = 2794; } else if (tile.type == 350) { num49 = 2860; } else if (tile.type == 336) { num49 = 2701; } else if (tile.type == 340) { num49 = 2751; } else if (tile.type == 341) { num49 = 2752; } else if (tile.type == 342) { num49 = 2753; } else if (tile.type == 343) { num49 = 2754; } else if (tile.type == 344) { num49 = 2755; } else if (tile.type == 351) { num49 = 2868; } else if (tile.type == 251) { num49 = 1725; } else if (tile.type == 252) { num49 = 1727; } else if (tile.type == 253) { num49 = 1729; } else if (tile.type == 325) { num49 = 2692; } else if (tile.type == 370) { num49 = 3100; } else if (tile.type == 396) { num49 = 3271; } else if (tile.type == 400) { num49 = 3276; } else if (tile.type == 401) { num49 = 3277; } else if (tile.type == 403) { num49 = 3339; } else if (tile.type == 397) { num49 = 3272; } else if (tile.type == 398) { num49 = 3274; } else if (tile.type == 399) { num49 = 3275; } else if (tile.type == 402) { num49 = 3338; } else if (tile.type == 404) { num49 = 3347; } else if (tile.type == 407) { num49 = 3380; } else if (tile.type == 170) { num49 = 1872; } else if (tile.type == 284) { num49 = 2173; } else if (tile.type == 214) { num49 = 85; } else if (tile.type == 213) { num49 = 965; } else if (tile.type == 211) { num49 = 947; } else if (tile.type == 6) { num49 = 11; } else if (tile.type == 7) { num49 = 12; } else if (tile.type == 8) { num49 = 13; } else if (tile.type == 9) { num49 = 14; } else if (tile.type == 202) { num49 = 824; } else if (tile.type == 234) { num49 = 1246; } else if (tile.type == 226) { num49 = 1101; } else if (tile.type == 224) { num49 = 1103; } else if (tile.type == 36) { num49 = 1869; } else if (tile.type == 311) { num49 = 2260; } else if (tile.type == 312) { num49 = 2261; } else if (tile.type == 313) { num49 = 2262; } else if (tile.type == 229) { num49 = 1125; } else if (tile.type == 230) { num49 = 1127; } else if (tile.type == 225) { if (WorldGen.genRand.Next(3) == 0) { tile.honey(true); tile.liquid = 255; } else { num49 = 1124; if (Main.netMode != 1 && WorldGen.genRand.Next(2) == 0) { int num60 = 1; if (WorldGen.genRand.Next(3) == 0) { num60 = 2; } for (int num61 = 0; num61 < num60; num61++) { int type5 = WorldGen.genRand.Next(210, 212); int num62 = NPC.NewNPC(i * 16 + 8, j * 16 + 15, type5, 1, 0f, 0f, 0f, 0f, 255); Main.npc[num62].velocity.X = (float)WorldGen.genRand.Next(-200, 201) * 0.002f; Main.npc[num62].velocity.Y = (float)WorldGen.genRand.Next(-200, 201) * 0.002f; Main.npc[num62].netUpdate = true; } } } } else if (tile.type == 221) { num49 = 1104; } else if (tile.type == 222) { num49 = 1105; } else if (tile.type == 223) { num49 = 1106; } else if (tile.type == 248) { num49 = 1589; } else if (tile.type == 249) { num49 = 1591; } else if (tile.type == 250) { num49 = 1593; } else if (tile.type == 191) { num49 = 9; } else if (tile.type == 203) { num49 = 836; } else if (tile.type == 204) { num49 = 880; } else if (tile.type == 166) { num49 = 699; } else if (tile.type == 167) { num49 = 700; } else if (tile.type == 168) { num49 = 701; } else if (tile.type == 169) { num49 = 702; } else if (tile.type == 123) { num49 = 424; } else if (tile.type == 124) { num49 = 480; } else if (tile.type == 157) { num49 = 619; } else if (tile.type == 158) { num49 = 620; } else if (tile.type == 159) { num49 = 621; } else if (tile.type == 161) { num49 = 664; } else if (tile.type == 206) { num49 = 883; } else if (tile.type == 232) { num49 = 1150; } else if (tile.type == 198) { num49 = 775; } else if (tile.type == 314) { num49 = Minecart.GetTrackItem(tile); } else if (tile.type == 189) { num49 = 751; } else if (tile.type == 195) { num49 = 763; } else if (tile.type == 194) { num49 = 766; } else if (tile.type == 193) { num49 = 762; } else if (tile.type == 196) { num49 = 765; } else if (tile.type == 197) { num49 = 767; } else if (tile.type == 178) { int num63 = (int)(tile.frameX / 18); if (num63 == 0) { num49 = 181; } else if (num63 == 1) { num49 = 180; } else if (num63 == 2) { num49 = 177; } else if (num63 == 3) { num49 = 179; } else if (num63 == 4) { num49 = 178; } else if (num63 == 5) { num49 = 182; } else if (num63 == 6) { num49 = 999; } } else if (tile.type == 149) { if (tile.frameX == 0 || tile.frameX == 54) { num49 = 596; } else if (tile.frameX == 18 || tile.frameX == 72) { num49 = 597; } else if (tile.frameX == 36 || tile.frameX == 90) { num49 = 598; } } else if (tile.type == 13) { int num64 = (int)(tile.frameX / 18); if (num64 == 1) { num49 = 28; } else if (num64 == 2) { num49 = 110; } else if (num64 == 3) { num49 = 350; } else if (num64 == 4) { num49 = 351; } else if (num64 == 5) { num49 = 2234; } else if (num64 == 6) { num49 = 2244; } else if (num64 == 7) { num49 = 2257; } else if (num64 == 8) { num49 = 2258; } else { num49 = 31; } } else if (tile.type == 19) { int num65 = (int)(tile.frameY / 18); if (num65 == 0) { num49 = 94; } else if (num65 == 1) { num49 = 631; } else if (num65 == 2) { num49 = 632; } else if (num65 == 3) { num49 = 633; } else if (num65 == 4) { num49 = 634; } else if (num65 == 5) { num49 = 913; } else if (num65 == 6) { num49 = 1384; } else if (num65 == 7) { num49 = 1385; } else if (num65 == 8) { num49 = 1386; } else if (num65 == 9) { num49 = 1387; } else if (num65 == 10) { num49 = 1388; } else if (num65 == 11) { num49 = 1389; } else if (num65 == 12) { num49 = 1418; } else if (num65 == 13) { num49 = 1457; } else if (num65 == 14) { num49 = 1702; } else if (num65 == 15) { num49 = 1796; } else if (num65 == 16) { num49 = 1818; } else if (num65 == 17) { num49 = 2518; } else if (num65 == 18) { num49 = 2549; } else if (num65 == 19) { num49 = 2566; } else if (num65 == 20) { num49 = 2581; } else if (num65 == 21) { num49 = 2627; } else if (num65 == 22) { num49 = 2628; } else if (num65 == 23) { num49 = 2629; } else if (num65 == 24) { num49 = 2630; } else if (num65 == 25) { num49 = 2744; } else if (num65 == 26) { num49 = 2822; } else if (num65 == 27) { num49 = 3144; } else if (num65 == 28) { num49 = 3146; } else if (num65 == 29) { num49 = 3145; } } else if (tile.type == 22) { num49 = 56; } else if (tile.type == 140) { num49 = 577; } else if (tile.type == 23) { num49 = 2; } else if (tile.type == 25) { num49 = 61; } else if (tile.type == 30) { num49 = 9; } else if (tile.type == 191) { num49 = 9; } else if (tile.type == 208) { num49 = 911; } else if (tile.type == 33) { int num66 = (int)(tile.frameY / 22); num49 = 105; if (num66 == 1) { num49 = 1405; } else if (num66 == 2) { num49 = 1406; } else if (num66 == 3) { num49 = 1407; } else if (num66 >= 4 && num66 <= 13) { num49 = 2045 + num66 - 4; } else if (num66 >= 14 && num66 <= 16) { num49 = 2153 + num66 - 14; } else if (num66 == 17) { num49 = 2236; } else if (num66 == 18) { num49 = 2523; } else if (num66 == 19) { num49 = 2542; } else if (num66 == 20) { num49 = 2556; } else if (num66 == 21) { num49 = 2571; } else if (num66 == 22) { num49 = 2648; } else if (num66 == 23) { num49 = 2649; } else if (num66 == 24) { num49 = 2650; } else if (num66 == 25) { num49 = 2651; } else if (num66 == 26) { num49 = 2818; } else if (num66 == 27) { num49 = 3171; } else if (num66 == 28) { num49 = 3173; } else if (num66 == 29) { num49 = 3172; } } else if (tile.type == 372) { num49 = 3117; } else if (tile.type == 371) { num49 = 3113; } else if (tile.type == 174) { num49 = 713; } else if (tile.type == 37) { num49 = 116; } else if (tile.type == 38) { num49 = 129; } else if (tile.type == 39) { num49 = 131; } else if (tile.type == 40) { num49 = 133; } else if (tile.type == 41) { num49 = 134; } else if (tile.type == 43) { num49 = 137; } else if (tile.type == 44) { num49 = 139; } else if (tile.type == 45) { num49 = 141; } else if (tile.type == 46) { num49 = 143; } else if (tile.type == 47) { num49 = 145; } else if (tile.type == 48) { num49 = 147; } else if (tile.type == 49) { num49 = 148; } else if (tile.type == 51) { num49 = 150; } else if (tile.type == 53) { num49 = 169; } else if (tile.type == 151) { num49 = 607; } else if (tile.type == 152) { num49 = 609; } else if (tile.type == 54) { num49 = 170; } else if (tile.type == 56) { num49 = 173; } else if (tile.type == 57) { num49 = 172; } else if (tile.type == 58) { num49 = 174; } else if (tile.type == 60) { num49 = 176; } else if (tile.type == 70) { num49 = 176; } else if (tile.type == 75) { num49 = 192; } else if (tile.type == 76) { num49 = 214; } else if (tile.type == 78) { num49 = 222; } else if (tile.type == 81) { num49 = 275; } else if (tile.type == 80) { num49 = 276; } else if (tile.type == 188) { num49 = 276; } else if (tile.type == 107) { num49 = 364; } else if (tile.type == 108) { num49 = 365; } else if (tile.type == 111) { num49 = 366; } else if (tile.type == 150) { num49 = 604; } else if (tile.type == 112) { num49 = 370; } else if (tile.type == 116) { num49 = 408; } else if (tile.type == 117) { num49 = 409; } else if (tile.type == 129) { num49 = 502; } else if (tile.type == 118) { num49 = 412; } else if (tile.type == 119) { num49 = 413; } else if (tile.type == 120) { num49 = 414; } else if (tile.type == 121) { num49 = 415; } else if (tile.type == 122) { num49 = 416; } else if (tile.type == 136) { num49 = 538; } else if (tile.type == 385) { num49 = 3234; } else if (tile.type == 137) { int num67 = (int)(tile.frameY / 18); if (num67 == 0) { num49 = 539; } if (num67 == 1) { num49 = 1146; } if (num67 == 2) { num49 = 1147; } if (num67 == 3) { num49 = 1148; } if (num67 == 4) { num49 = 1149; } } else if (tile.type == 141) { num49 = 580; } else if (tile.type == 145) { num49 = 586; } else if (tile.type == 146) { num49 = 591; } else if (tile.type == 147) { num49 = 593; } else if (tile.type == 148) { num49 = 594; } else if (tile.type == 153) { num49 = 611; } else if (tile.type == 154) { num49 = 612; } else if (tile.type == 155) { num49 = 613; } else if (tile.type == 156) { num49 = 614; } else if (tile.type == 160) { num49 = 662; } else if (tile.type == 175) { num49 = 717; } else if (tile.type == 176) { num49 = 718; } else if (tile.type == 177) { num49 = 719; } else if (tile.type == 163) { num49 = 833; } else if (tile.type == 164) { num49 = 834; } else if (tile.type == 200) { num49 = 835; } else if (tile.type == 210) { num49 = 937; } else if (tile.type == 135) { int num68 = (int)(tile.frameY / 18); if (num68 == 0) { num49 = 529; } if (num68 == 1) { num49 = 541; } if (num68 == 2) { num49 = 542; } if (num68 == 3) { num49 = 543; } if (num68 == 4) { num49 = 852; } if (num68 == 5) { num49 = 853; } if (num68 == 6) { num49 = 1151; } } else if (tile.type == 144) { if (tile.frameX == 0) { num49 = 583; } if (tile.frameX == 18) { num49 = 584; } if (tile.frameX == 36) { num49 = 585; } } else if (tile.type == 130) { num49 = 511; } else if (tile.type == 131) { num49 = 512; } else if (tile.type == 61 || tile.type == 74) { if (tile.frameX == 144 && tile.type == 61) { Item.NewItem(i * 16, j * 16, 16, 16, 331, WorldGen.genRand.Next(2, 4), false, 0, false, false); } else if (tile.frameX == 162 && tile.type == 61) { num49 = 223; } else if (tile.frameX >= 108 && tile.frameX <= 126 && tile.type == 61 && WorldGen.genRand.Next(20) == 0) { num49 = 208; } else if (WorldGen.genRand.Next(100) == 0) { num49 = 195; } } else if (tile.type == 59 || tile.type == 60) { num49 = 176; } else if (tile.type == 190) { num49 = 183; } else if (tile.type == 71 || tile.type == 72) { if (WorldGen.genRand.Next(50) == 0) { num49 = 194; } else if (WorldGen.genRand.Next(2) == 0) { num49 = 183; } } else if (tile.type >= 63 && tile.type <= 68) { num49 = (int)(tile.type - 63 + 177); } else if (tile.type == 50) { if (tile.frameX == 90) { num49 = 165; } else { num49 = 149; } } else if (Main.tileAlch[(int)tile.type]) { if (tile.type > 82) { int num69 = (int)(tile.frameX / 18); bool flag2 = false; num49 = 313 + num69; int type6 = 307 + num69; if (tile.type == 84) { flag2 = true; } if (num69 == 0 && Main.dayTime) { flag2 = true; } if (num69 == 1 && !Main.dayTime) { flag2 = true; } if (num69 == 3 && !Main.dayTime && (Main.bloodMoon || Main.moonPhase == 0)) { flag2 = true; } if (num69 == 4 && (Main.raining || Main.cloudAlpha > 0f)) { flag2 = true; } if (num69 == 5 && !Main.raining && Main.dayTime && Main.time > 40500.0) { flag2 = true; } if (num69 == 6) { num49 = 2358; type6 = 2357; } int num70 = (int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16); if (Main.player[num70].inventory[Main.player[num70].selectedItem].type == 213) { Item.NewItem(i * 16, j * 16, 16, 16, type6, WorldGen.genRand.Next(1, 6), false, 0, false, false); Item.NewItem(i * 16, j * 16, 16, 16, num49, WorldGen.genRand.Next(1, 3), false, 0, false, false); num49 = -1; } else if (flag2) { int stack = WorldGen.genRand.Next(1, 4); Item.NewItem(i * 16, j * 16, 16, 16, type6, stack, false, 0, false, false); } } } else if (tile.type == 321) { num49 = 2503; } else if (tile.type == 322) { num49 = 2504; } if (num49 > 0) { int num71 = 1; if (flag) { num71++; } Item.NewItem(i * 16, j * 16, 16, 16, num49, num71, false, -1, false, false); } if (num50 > 0) { Item.NewItem(i * 16, j * 16, 16, 16, num50, 1, false, -1, false, false); } } if (Main.netMode != 2) { AchievementsHelper.NotifyTileDestroyed(Main.player[Main.myPlayer], tile.type); } tile.active(false); tile.halfBrick(false); tile.frameX = -1; tile.frameY = -1; tile.color(0); tile.frameNumber(0); if (tile.type == 58 && j > Main.maxTilesY - 200) { tile.lava(true); tile.liquid = 128; } else if (tile.type == 54) { WorldGen.SquareWallFrame(i, j, true); } tile.type = 0; tile.inActive(false); WorldGen.SquareTileFrame(i, j, true); } } }
private void NetHooks_GetData(GetDataEventArgs e) { switch (e.MsgID) { case PacketTypes.ChestGetContents: if (!e.Handled) using (var data = new MemoryStream(e.Msg.readBuffer, e.Index, e.Length)) { var reader = new BinaryReader(data); int x = reader.ReadInt32(); int y = reader.ReadInt32(); reader.Close(); int id = Terraria.Chest.FindChest(x, y); CPlayer player = Players[e.Msg.whoAmI]; TPPlayer tplayer = tPulse.Players[e.Msg.whoAmI]; if (id != -1) { Chest chest = ChestManager.GetChest(id); bool naggedAboutLock = false; switch (player.GetState()) { case SettingState.Setting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) player.SendMessage("You already own this chest!", Color.Red); else { player.SendMessage("This chest is already owned by someone!", Color.Red); naggedAboutLock = true; } else { chest.SetID(id); chest.SetPosition(x, y); chest.SetOwner(player); chest.Lock(); player.SendMessage("This chest is now yours, and yours only.", Color.Red); } //end player setting player.SetState(SettingState.None); break; case SettingState.RegionSetting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) if (chest.IsRegionLocked()) { chest.regionLock(false); player.SendMessage( "Region share disabled. This chest is now only yours. To fully remove protection use \"cunset\".", Color.Red); } else if (tPulse.Regions.InArea(x, y)) { chest.regionLock(true); player.SendMessage( "This chest is now shared between region users. Use this command again to disable it.", Color.Red); } else player.SendMessage( "You can region share chest only if the chest is inside region!", Color.Red); else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else if (tPulse.Regions.InArea(x, y)) { chest.SetID(id); chest.SetPosition(x, y); chest.SetOwner(player); chest.Lock(); chest.regionLock(true); player.SendMessage( "This chest is now shared between region users with you as owner. Use this command again to disable region sharing (You will still be owner).", Color.Red); } else player.SendMessage( "You can region share chest only if the chest is inside region!", Color.Red); //end player setting player.SetState(SettingState.None); break; case SettingState.PublicSetting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) if (chest.IsLocked()) { chest.UnLock(); player.SendMessage( "This chest is now public! Use \"/cpset\" to set it private.", Color.Red); } else { chest.Lock(); player.SendMessage( "This chest is now private! Use \"/cpset\" to set it public.", Color.Red); } else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else { chest.SetID(id); chest.SetPosition(x, y); chest.SetOwner(player); player.SendMessage( "This chest is now yours. This chest is public. Use \"/cpset\" to set it private.", Color.Red); } break; case SettingState.Deleting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player) || tplayer.Group.HasPermission("removechestprotection")) { chest.Reset(); player.SendMessage("This chest is no longer yours!", Color.Red); } else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else player.SendMessage("This chest is not protected!", Color.Red); //end player setting player.SetState(SettingState.None); break; case SettingState.PasswordSetting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) { chest.SetPassword(player.PasswordForChest); player.SendMessage("This chest is now protected with password.", Color.Red); } else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else { chest.SetID(id); chest.SetPosition(x, y); chest.SetOwner(player); chest.Lock(); chest.SetPassword(player.PasswordForChest); player.SendMessage( "This chest is now protected with password, with you as owner.", Color.Red); } //end player setting player.SetState(SettingState.None); break; case SettingState.PasswordUnSetting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) { chest.SetPassword(""); player.SendMessage("This chest password has been removed.", Color.Red); } else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else player.SendMessage("This chest is not protected!", Color.Red); //end player setting player.SetState(SettingState.None); break; case SettingState.RefillSetting: if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) { chest.SetRefill(true); player.SendMessage("This chest is will now always refill with items.", Color.Red); } else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else { chest.SetID(id); chest.SetPosition(x, y); chest.SetOwner(player); chest.SetRefill(true); player.SendMessage( "This chest is will now always refill with items, with you as owner.", Color.Red); } //end player setting player.SetState(SettingState.None); break; case SettingState.RefillUnSetting: if (chest.IsRefill()) if (chest.HasOwner()) if (chest.IsOwnerConvert(player)) { chest.SetRefill(false); player.SendMessage( "This chest is will no longer refill with items.", Color.Red); } else { player.SendMessage("This chest isn't yours!", Color.Red); naggedAboutLock = true; } else { chest.SetID(id); chest.SetPosition(x, y); chest.SetOwner(player); chest.SetRefill(false); player.SendMessage("This chest is will no longer refill with items", Color.Red); } else player.SendMessage("This chest is not refilling!", Color.Red); //end player setting player.SetState(SettingState.None); break; case SettingState.UnLocking: if (chest.HasOwner()) if (chest.IsLocked()) if (chest.GetPassword() == "") { player.SendMessage("This chest can't be unlocked with password!", Color.Red); naggedAboutLock = true; } else if (chest.IsOwnerConvert(player)) player.SendMessage( "You are owner of this chest, you dont need to unlock it. If you want to remove password use \"/lockchest remove\".", Color.Red); else if (player.HasAccessToChest(chest.GetID())) player.SendMessage("You already have access to this chest!", Color.Red); else if (chest.CheckPassword(player.PasswordForChest)) { player.UnlockedChest(chest.GetID()); player.SendMessage( "Chest unlocked! When you leave game you must unlock it again.", Color.Red); } else { player.SendMessage("Wrong password for chest!", Color.Red); naggedAboutLock = true; } else player.SendMessage("This chest is not locked!", Color.Red); else player.SendMessage("This chest is not protected!", Color.Red); //end player setting player.SetState(SettingState.None); break; } if (tplayer.Group.HasPermission("showchestinfo")) //if player should see chest info player.SendMessage( string.Format( "Chest Owner: {0} || Public: {1} || RegionShare: {2} || Password: {3} || Refill: {4}", chest.GetOwner() == "" ? "-None-" : chest.GetOwner(), chest.IsLocked() ? "No" : "Yes", chest.IsRegionLocked() ? "Yes" : "No", chest.GetPassword() == "" ? "No" : "Yes", chest.IsRefill() ? "Yes" : "No"), Color.Yellow); if (!tplayer.Group.HasPermission("openallchests") && !chest.IsOpenFor(player)) //if player doesnt has permission to see inside chest, then break and message { e.Handled = true; if (!naggedAboutLock) player.SendMessage( chest.GetPassword() != "" ? "This chest is magically locked with password. ( Use \"/cunlock PASSWORD\" to unlock it. )" : "This chest is magically locked.", Color.IndianRed); return; } } if (player.GetState() != SettingState.None) //if player is still setting something - end his setting player.SetState(SettingState.None); } break; case PacketTypes.TileKill: case PacketTypes.Tile: using (var data = new MemoryStream(e.Msg.readBuffer, e.Index, e.Length)) try { var reader = new BinaryReader(data); if (e.MsgID == PacketTypes.Tile) { byte type = reader.ReadByte(); if (!(type == 0 || type == 4)) return; } int x = reader.ReadInt32(); int y = reader.ReadInt32(); reader.Close(); if (Chest.TileIsChest(x, y)) //if is Chest { int id = Terraria.Chest.FindChest(x, y); CPlayer player = Players[e.Msg.whoAmI]; TPPlayer tplayer = tPulse.Players[e.Msg.whoAmI]; //dirty fix for finding chest, try to find chest point around if (id == -1) try { id = Terraria.Chest.FindChest(x - 1, y); //search one tile left if (id == -1) { id = Terraria.Chest.FindChest(x - 1, y - 1); //search one tile left and one tile up if (id == -1) id = Terraria.Chest.FindChest(x, y - 1); //search one tile up } } catch (Exception ex) { Log.Write(ex.ToString(), LogLevel.Error); } if (id != -1) //if have found chest { Chest chest = ChestManager.GetChest(id); if (chest.HasOwner()) //if owned stop removing { if (tplayer.Group.HasPermission("removechestprotection") || chest.IsOwnerConvert(player)) //display more verbose info to player who has permission to remove protection on this chest player.SendMessage( "This chest is protected. To remove it, first remove protection using \"/cunset\" command.", Color.Red); else player.SendMessage("This chest is protected!", Color.Red); player.SendTileSquare(x, y); e.Handled = true; } } } } catch (Exception ex) { Log.Write(ex.ToString(), LogLevel.Error); } break; case PacketTypes.ChestItem: using (var data = new MemoryStream(e.Msg.readBuffer, e.Index, e.Length)) { var reader = new BinaryReader(data); short id = reader.ReadInt16(); byte slot = reader.ReadByte(); byte stack = reader.ReadByte(); byte prefix = reader.ReadByte(); short type = reader.ReadByte(); if (id != -1) { Chest chest = ChestManager.GetChest(id); if (chest.IsRefill()) e.Handled = true; if (!e.Handled) { var item = Main.chest[id].item[slot]; var newitem = new Item(); newitem.netDefaults(type); newitem.Prefix(prefix); newitem.AffixName(); Log.Write(string.Format("{0}({1}) in slot {2} in chest at {3}x{4} was modified to {5}({6}) by {7}", item.name, item.stack, slot, Main.chest[id].x, Main.chest[id].y, newitem.name, stack, tPulse.Players[e.Msg.whoAmI].UserAccountName), LogLevel.Info, false); } } } break; } }
protected void DrawTiles(bool solidOnly = true) { if (!solidOnly) { Main.critterCage = false; } Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); int num = (int)(255f * (1f - Main.gfxQuality) + 30f * Main.gfxQuality); int num2 = (int)(50f * (1f - Main.gfxQuality) + 2f * Main.gfxQuality); Vector2 zero = new Vector2((float)Main.offScreenRange, (float)Main.offScreenRange); if (Main.drawToScreen) { zero = Vector2.Zero; } int num3 = 0; int[] array = new int[1000]; int[] array2 = new int[1000]; int num4 = array.Length - 1; int num5 = (int)((Main.screenPosition.X - zero.X) / 16f - 1f); int num6 = (int)((Main.screenPosition.X + (float)Main.screenWidth + zero.X) / 16f) + 2; int num7 = (int)((Main.screenPosition.Y - zero.Y) / 16f - 1f); int num8 = (int)((Main.screenPosition.Y + (float)Main.screenHeight + zero.Y) / 16f) + 5; if (num5 < 0) { num5 = 0; } if (num6 > Main.maxTilesX) { num6 = Main.maxTilesX; } if (num7 < 0) { num7 = 0; } if (num8 > Main.maxTilesY) { num8 = Main.maxTilesY; } if (Main.sectionManager.FrameSectionsLeft > 0) { TimeLogger.DetailedDrawReset(); WorldGen.SectionTileFrameWithCheck(num5, num7, num6, num8); TimeLogger.DetailedDrawTime(5); } int num9 = 16; Color[] array3 = new Color[9]; for (int i = num7; i < num8 + 4; i++) { for (int j = num5 - 2; j < num6 + 2; j++) { Tile tile = Main.tile[j, i]; if (tile == null) { tile = new Tile(); Main.tile[j, i] = tile; Main.mapTime += 60; } ushort type = tile.type; bool flag = Main.tileSolid[(int)type]; if (type == 11) { flag = true; } if (tile.active() && flag == solidOnly) { if (!Main.tileSetsLoaded[(int)type]) { this.LoadTiles((int)type); } SpriteEffects effects = SpriteEffects.None; if (type == 3 || type == 13 || type == 20 || type == 24 || type == 49 || type == 50 || type == 52 || type == 61 || type == 62 || type == 71 || type == 73 || type == 74 || type == 81 || type == 82 || type == 83 || type == 84 || type == 91 || type == 92 || type == 93 || type == 110 || type == 113 || type == 115 || type == 135 || type == 141 || type == 165 || type == 174 || type == 201 || type == 205 || type == 227 || type == 270 || type == 271) { if (j % 2 == 1) { effects = SpriteEffects.FlipHorizontally; } } else { if (type == 184) { if (tile.frameY < 108) { if (j % 2 == 1) { effects = SpriteEffects.FlipHorizontally; } } else { if (i % 2 == 1) { effects = SpriteEffects.FlipVertically; } } } else { if (type == 185 && tile.frameY == 0 && j % 2 == 1) { effects = SpriteEffects.FlipHorizontally; } } } Color color = Lighting.GetColor(j, i); int num10 = 0; int num11 = 16; if (type >= 330 && type <= 333) { num10 += 2; } if (type == 4 && WorldGen.SolidTile(j, i - 1)) { num10 = 2; if (WorldGen.SolidTile(j - 1, i + 1) || WorldGen.SolidTile(j + 1, i + 1)) { num10 = 4; } } if (type == 336) { num10 = 2; } if (type >= 275 && type <= 282) { num10 = 2; } if (type == 285 || type == 286 || type == 309 || type == 310) { num10 = 2; } if (type == 100 || type == 283) { num10 = 2; } if (type == 78 || type == 85 || type == 210 || type == 133 || type == 134 || type == 233) { num10 = 2; } if (type == 33 || type == 49 || type == 174) { num10 = -4; } if (type == 3 || type == 4 || type == 5 || type == 24 || type == 33 || type == 49 || type == 61 || type == 71 || type == 110 || type == 174 || type == 201 || type == 323 || type == 324) { num11 = 20; } else { if (type == 16 || type == 17 || type == 18 || type == 20 || type == 26 || type == 27 || type == 32 || type == 69 || type == 72 || type == 77 || type == 80) { num11 = 18; } else { if (type == 14 || type == 15 || type == 21) { if (tile.frameY == 18) { num11 = 18; } } else { if (type == 137) { num11 = 18; } else { if (type == 135) { num10 = 2; num11 = 18; } else { if (type == 254) { num10 = 2; } else { if (type == 132) { num10 = 2; num11 = 18; } else { num11 = 16; } } } } } } } if (type == 52) { num10 -= 2; } if (type == 324) { num10 = -2; } if (type == 231 || type == 238) { num10 += 2; } if (type == 207) { num10 = 2; } if (type == 4 || type == 5 || type == 323 || type == 324) { num9 = 20; } else { num9 = 16; } if (type == 73 || type == 74 || type == 113) { num10 -= 12; num11 = 32; } if (type == 227) { num9 = 32; num11 = 38; if (tile.frameX == 238) { num10 -= 6; } else { num10 -= 20; } } if (type == 185 || type == 186 || type == 187) { num10 = 2; if (type == 185) { if (tile.frameY == 18 && tile.frameX >= 576 && tile.frameX <= 882) { Main.tileShine2[185] = true; } else { Main.tileShine2[185] = false; } } else { if (type == 186) { if (tile.frameX >= 864 && tile.frameX <= 1170) { Main.tileShine2[186] = true; } else { Main.tileShine2[186] = false; } } } } if (type == 178 && tile.frameY <= 36) { num10 = 2; } if (type == 184) { num9 = 20; if (tile.frameY <= 36) { num10 = 2; } else { if (tile.frameY <= 108) { num10 = -2; } } } if (type == 28) { num10 += 2; } if (type == 81) { num10 -= 8; num11 = 26; num9 = 24; } if (type == 105) { num10 = 2; } if (type == 124) { num11 = 18; } if (type == 137) { num11 = 18; } if (type == 138) { num11 = 18; } if (type == 139 || type == 142 || type == 143) { num10 = 2; } int num12 = 0; if (tile.halfBrick()) { num12 = 8; } int num13 = Main.tileFrame[(int)type] * 38; int num14 = 0; if (type == 272) { num13 = 0; } if (type == 106) { num13 = Main.tileFrame[(int)type] * 54; } if (type >= 300 && type <= 308) { num13 = Main.tileFrame[(int)type] * 54; num10 = 2; } if (type == 12) { num13 = Main.tileFrame[(int)type] * 36; } if (type == 96) { num13 = Main.tileFrame[(int)type] * 36; } if (type == 238) { num13 = Main.tileFrame[(int)type] * 36; } if (type == 31) { num13 = Main.tileFrame[(int)type] * 36; } if (type == 215) { num13 = Main.tileFrame[(int)type] * 36; num10 = 2; } if (type == 231) { num13 = Main.tileFrame[(int)type] * 54; num10 = 2; } if (type == 243) { num13 = Main.tileFrame[(int)type] * 54; num10 = 2; } if (type == 247) { num13 = Main.tileFrame[(int)type] * 54; num10 = 2; } if (type == 244) { num10 = 2; if (tile.frameX < 54) { num13 = Main.tileFrame[(int)type] * 36; } else { num13 = 0; } } if (type == 235) { num13 = Main.tileFrame[(int)type] * 18; } if (type == 217 || type == 218) { num13 = Main.tileFrame[(int)type] * 36; num10 = 2; } if (type == 219 || type == 220) { num13 = Main.tileFrame[(int)type] * 54; num10 = 2; } if (type == 270 || type == 271) { int k = Main.tileFrame[(int)type] + j % 6; if (j % 2 == 0) { k += 3; } if (j % 3 == 0) { k += 3; } if (j % 4 == 0) { k += 3; } while (k > 5) { k -= 6; } num14 = k * 18; num13 = 0; } if ((type >= 275 && type <= 281) || type == 296 || type == 297 || type == 309) { Main.critterCage = true; int num15 = j - (int)(tile.frameX / 18); int num16 = i - (int)(tile.frameY / 18); int num17 = num15 / 6 * (num16 / 4); num17 %= Main.cageFrames; if (type == 275) { num13 = Main.bunnyCageFrame[num17] * 54; } if (type == 276) { num13 = Main.squirrelCageFrame[num17] * 54; } if (type == 277) { num13 = Main.mallardCageFrame[num17] * 54; } if (type == 278) { num13 = Main.duckCageFrame[num17] * 54; } if (type == 279) { num13 = Main.birdCageFrame[num17] * 54; } if (type == 280) { num13 = Main.blueBirdCageFrame[num17] * 54; } if (type == 281) { num13 = Main.redBirdCageFrame[num17] * 54; } if (type == 296) { num13 = Main.scorpionCageFrame[0, num17] * 54; } if (type == 297) { num13 = Main.scorpionCageFrame[0, num17] * 54; } if (type == 309) { num13 = Main.penguinCageFrame[num17] * 54; } } else { if (type == 285 || type == 286 || type == 298 || type == 299 || type == 310 || type == 339) { Main.critterCage = true; int num18 = j - (int)(tile.frameX / 18); int num19 = i - (int)(tile.frameY / 18); int num20 = num18 / 3 * (num19 / 3); num20 %= Main.cageFrames; if (type == 285) { num13 = Main.snailCageFrame[num20] * 36; } if (type == 286) { num13 = Main.snail2CageFrame[num20] * 36; } if (type == 298) { num13 = Main.frogCageFrame[num20] * 36; } if (type == 299) { num13 = Main.mouseCageFrame[num20] * 36; } if (type == 310) { num13 = Main.wormCageFrame[num20] * 36; } if (type == 339) { num13 = Main.grasshopperCageFrame[num20] * 36; } } else { if (type == 282 || (type >= 288 && type <= 295) || (type >= 316 && type <= 318)) { Main.critterCage = true; int num21 = j - (int)(tile.frameX / 18); int num22 = i - (int)(tile.frameY / 18); int num23 = num21 / 2 * (num22 / 3); num23 %= Main.cageFrames; if (type == 282) { num13 = Main.fishBowlFrame[num23] * 36; } else { if (type >= 288 && type <= 295) { int num24 = (int)(type - 288); num13 = Main.butterflyCageFrame[num24, num23] * 36; } else { if (type >= 316 && type <= 318) { int num25 = (int)(type - 316); num13 = Main.jellyfishCageFrame[num25, num23] * 36; } } } } else { if (type == 207) { if (tile.frameY >= 72) { num13 = Main.tileFrame[(int)type]; int num26 = j; if (tile.frameX % 36 != 0) { num26--; } num13 += num26 % 6; if (num13 >= 6) { num13 -= 6; } num13 *= 72; } else { num13 = 0; } } else { if (type == 326 || type == 327 || type == 328 || type == 329 || type == 336) { num13 = Main.tileFrame[(int)type] * 90; } } } } } if (Main.player[Main.myPlayer].dangerSense) { bool flag2 = false || type == 135 || type == 137 || type == 138 || type == 141 || type == 210; if (tile.slope() == 0 && !tile.inActive()) { flag2 = (flag2 || type == 32 || type == 69 || type == 48 || type == 232 || type == 51 || type == 229); if (!Main.player[Main.myPlayer].fireWalk) { flag2 = (flag2 || type == 37 || type == 58 || type == 76); } if (!Main.player[Main.myPlayer].iceSkate) { flag2 = (flag2 || type == 162); } } if (flag2) { if (color.R < 255) { color.R = 255; } if (color.G < 50) { color.G = 50; } if (color.B < 50) { color.B = 50; } color.A = Main.mouseTextColor; if (!Main.gamePaused && base.IsActive && Main.rand.Next(30) == 0) { int num27 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 60, 0f, 0f, 100, default(Color), 0.3f); Main.dust[num27].fadeIn = 1f; Main.dust[num27].velocity *= 0.1f; Main.dust[num27].noLight = true; Main.dust[num27].noGravity = true; } } } if (Main.player[Main.myPlayer].findTreasure) { bool flag3 = false; if (type == 185 && tile.frameY == 18 && tile.frameX >= 576 && tile.frameX <= 882) { flag3 = true; } if (type == 186 && tile.frameX >= 864 && tile.frameX <= 1170) { flag3 = true; } if (flag3 || type == 6 || type == 7 || type == 8 || type == 9 || type == 12 || type == 21 || type == 22 || type == 28 || type == 107 || type == 108 || type == 111 || (type >= 63 && type <= 68) || Main.tileAlch[(int)type] || type == 166 || type == 167 || type == 168 || type == 169 || type == 178 || type == 211 || type == 221 || type == 222 || type == 223 || type == 236) { byte b = 200; byte b2 = 170; if (color.R < b) { color.R = b; } if (color.G < b2) { color.G = b2; } color.A = Main.mouseTextColor; if (!Main.gamePaused && base.IsActive && Main.rand.Next(60) == 0) { int num28 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 204, 0f, 0f, 150, default(Color), 0.3f); Main.dust[num28].fadeIn = 1f; Main.dust[num28].velocity *= 0.1f; Main.dust[num28].noLight = true; } } } if (!Main.gamePaused && base.IsActive && (Lighting.lightMode < 2 || Main.rand.Next(4) == 0)) { if (type == 238 && Main.rand.Next(10) == 0) { int num29 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 168, 0f, 0f, 0, default(Color), 1f); Main.dust[num29].noGravity = true; Main.dust[num29].alpha = 200; } if (type == 244 && tile.frameX == 18 && tile.frameY == 18 && Main.rand.Next(2) == 0) { if (Main.rand.Next(500) == 0) { Gore.NewGore(new Vector2((float)(j * 16 + 8), (float)(i * 16 + 8)), default(Vector2), 415, (float)Main.rand.Next(51, 101) * 0.01f); } else { if (Main.rand.Next(250) == 0) { Gore.NewGore(new Vector2((float)(j * 16 + 8), (float)(i * 16 + 8)), default(Vector2), 414, (float)Main.rand.Next(51, 101) * 0.01f); } else { if (Main.rand.Next(80) == 0) { Gore.NewGore(new Vector2((float)(j * 16 + 8), (float)(i * 16 + 8)), default(Vector2), 413, (float)Main.rand.Next(51, 101) * 0.01f); } else { if (Main.rand.Next(10) == 0) { Gore.NewGore(new Vector2((float)(j * 16 + 8), (float)(i * 16 + 8)), default(Vector2), 412, (float)Main.rand.Next(51, 101) * 0.01f); } else { if (Main.rand.Next(3) == 0) { Gore.NewGore(new Vector2((float)(j * 16 + 8), (float)(i * 16 + 8)), default(Vector2), 411, (float)Main.rand.Next(51, 101) * 0.01f); } } } } } } if (type == 139 && tile.frameX == 36 && tile.frameY % 36 == 0 && Main.time % 7.0 == 0.0 && Main.rand.Next(3) == 0) { int num30 = Main.rand.Next(570, 573); Vector2 position = new Vector2((float)(j * 16 + 8), (float)(i * 16 - 8)); Vector2 velocity = new Vector2(Main.windSpeed * 2f, -0.5f); velocity.X *= 1f + (float)Main.rand.Next(-50, 51) * 0.01f; velocity.Y *= 1f + (float)Main.rand.Next(-50, 51) * 0.01f; if (num30 == 572) { position.X -= 8f; } if (num30 == 571) { position.X -= 4f; } Gore.NewGore(position, velocity, num30, 0.8f); } if (type == 165 && tile.frameX >= 162 && tile.frameX <= 214 && tile.frameY == 72 && Main.rand.Next(60) == 0) { int num31 = Dust.NewDust(new Vector2((float)(j * 16 + 2), (float)(i * 16 + 6)), 8, 4, 153, 0f, 0f, 0, default(Color), 1f); Main.dust[num31].scale -= (float)Main.rand.Next(3) * 0.1f; Main.dust[num31].velocity.Y = 0f; Dust expr_160B_cp_0 = Main.dust[num31]; expr_160B_cp_0.velocity.X = expr_160B_cp_0.velocity.X * 0.05f; Main.dust[num31].alpha = 100; } if (type == 42 && tile.frameX == 0) { int num32 = (int)(tile.frameY / 36); int num33 = (int)(tile.frameY / 18 % 2); if (num32 == 7 && num33 == 1) { if (Main.rand.Next(50) == 0) { int num34 = Dust.NewDust(new Vector2((float)(j * 16 + 4), (float)(i * 16 + 4)), 8, 8, 58, 0f, 0f, 150, default(Color), 1f); Main.dust[num34].velocity *= 0.5f; } if (Main.rand.Next(100) == 0) { int num35 = Gore.NewGore(new Vector2((float)(j * 16 - 2), (float)(i * 16 - 4)), default(Vector2), Main.rand.Next(16, 18), 1f); Main.gore[num35].scale *= 0.7f; Main.gore[num35].velocity *= 0.25f; } } else { if (num32 == 29 && num33 == 1 && Main.rand.Next(40) == 0) { int num36 = Dust.NewDust(new Vector2((float)(j * 16 + 4), (float)(i * 16)), 8, 8, 59, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) != 0) { Main.dust[num36].noGravity = true; } Main.dust[num36].velocity *= 0.3f; Dust expr_1804_cp_0 = Main.dust[num36]; expr_1804_cp_0.velocity.Y = expr_1804_cp_0.velocity.Y - 1.5f; } } } if (type == 215 && Main.rand.Next(2) == 0 && ((Main.drawToScreen && Main.rand.Next(4) == 0) || !Main.drawToScreen) && tile.frameY == 0) { int num37 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16 - 4)), 8, 8, 31, 0f, 0f, 100, default(Color), 1f); if (tile.frameX == 0) { Dust expr_18AE_cp_0 = Main.dust[num37]; expr_18AE_cp_0.position.X = expr_18AE_cp_0.position.X + (float)Main.rand.Next(8); } if (tile.frameX == 36) { Dust expr_18DE_cp_0 = Main.dust[num37]; expr_18DE_cp_0.position.X = expr_18DE_cp_0.position.X - (float)Main.rand.Next(8); } Main.dust[num37].alpha += Main.rand.Next(100); Main.dust[num37].velocity *= 0.2f; Dust expr_1940_cp_0 = Main.dust[num37]; expr_1940_cp_0.velocity.Y = expr_1940_cp_0.velocity.Y - (0.5f + (float)Main.rand.Next(10) * 0.1f); Main.dust[num37].fadeIn = 0.5f + (float)Main.rand.Next(10) * 0.1f; if (Main.rand.Next(4) == 0) { num37 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 8, 8, 6, 0f, 0f, 0, default(Color), 1f); if (tile.frameX == 0) { Dust expr_19EA_cp_0 = Main.dust[num37]; expr_19EA_cp_0.position.X = expr_19EA_cp_0.position.X + (float)Main.rand.Next(8); } if (tile.frameX == 36) { Dust expr_1A1A_cp_0 = Main.dust[num37]; expr_1A1A_cp_0.position.X = expr_1A1A_cp_0.position.X - (float)Main.rand.Next(8); } if (Main.rand.Next(20) != 0) { Main.dust[num37].noGravity = true; Main.dust[num37].scale *= 1f + (float)Main.rand.Next(10) * 0.1f; Dust expr_1A88_cp_0 = Main.dust[num37]; expr_1A88_cp_0.velocity.Y = expr_1A88_cp_0.velocity.Y - 1f; } } } if (type == 4 && Main.rand.Next(40) == 0 && tile.frameX < 66) { int num38 = (int)(tile.frameY / 22); if (num38 == 0) { num38 = 6; } else { if (num38 == 8) { num38 = 75; } else { if (num38 == 9) { num38 = 135; } else { if (num38 == 10) { num38 = 158; } else { if (num38 == 11) { num38 = 169; } else { if (num38 == 12) { num38 = 156; } else { num38 = 58 + num38; } } } } } } int num39; if (tile.frameX == 22) { num39 = Dust.NewDust(new Vector2((float)(j * 16 + 6), (float)(i * 16)), 4, 4, num38, 0f, 0f, 100, default(Color), 1f); } if (tile.frameX == 44) { num39 = Dust.NewDust(new Vector2((float)(j * 16 + 2), (float)(i * 16)), 4, 4, num38, 0f, 0f, 100, default(Color), 1f); } else { num39 = Dust.NewDust(new Vector2((float)(j * 16 + 4), (float)(i * 16)), 4, 4, num38, 0f, 0f, 100, default(Color), 1f); } if (Main.rand.Next(3) != 0) { Main.dust[num39].noGravity = true; } Main.dust[num39].velocity *= 0.3f; Dust expr_1C3A_cp_0 = Main.dust[num39]; expr_1C3A_cp_0.velocity.Y = expr_1C3A_cp_0.velocity.Y - 1.5f; } if (type == 93 && Main.rand.Next(40) == 0 && tile.frameX == 0) { int num40 = (int)(tile.frameY / 54); if (tile.frameY / 18 % 3 == 0) { int num41 = num40; if (num41 == 0) { goto IL_1CE8; } int num42; switch (num41) { case 6: case 7: case 8: case 10: case 14: case 15: case 16: goto IL_1CE8; case 20: num42 = 59; goto IL_1CF6; } num42 = -1; IL_1CF6: if (num42 != -1) { int num43 = Dust.NewDust(new Vector2((float)(j * 16 + 4), (float)(i * 16 + 2)), 4, 4, num42, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) != 0) { Main.dust[num43].noGravity = true; } Main.dust[num43].velocity *= 0.3f; Dust expr_1D82_cp_0 = Main.dust[num43]; expr_1D82_cp_0.velocity.Y = expr_1D82_cp_0.velocity.Y - 1.5f; goto IL_1D93; } goto IL_1D93; IL_1CE8: num42 = 6; goto IL_1CF6; } } IL_1D93: if (type == 100 && Main.rand.Next(40) == 0 && tile.frameX < 36) { int num44 = (int)(tile.frameY / 36); if (tile.frameY / 18 % 2 == 0) { int num45; switch (num44) { case 0: case 2: case 5: case 7: case 8: case 10: case 12: case 14: case 15: case 16: num45 = 6; break; case 1: case 3: case 4: case 6: case 9: case 11: case 13: case 17: case 18: case 19: goto IL_1E4C; case 20: num45 = 59; break; default: goto IL_1E4C; } IL_1E4F: if (num45 != -1) { Vector2 position2; if (tile.frameX == 0) { if (Main.rand.Next(3) == 0) { position2 = new Vector2((float)(j * 16 + 4), (float)(i * 16 + 2)); } else { position2 = new Vector2((float)(j * 16 + 14), (float)(i * 16 + 2)); } } else { if (Main.rand.Next(3) == 0) { position2 = new Vector2((float)(j * 16 + 6), (float)(i * 16 + 2)); } else { position2 = new Vector2((float)(j * 16), (float)(i * 16 + 2)); } } int num46 = Dust.NewDust(position2, 4, 4, num45, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) != 0) { Main.dust[num46].noGravity = true; } Main.dust[num46].velocity *= 0.3f; Dust expr_1F4F_cp_0 = Main.dust[num46]; expr_1F4F_cp_0.velocity.Y = expr_1F4F_cp_0.velocity.Y - 1.5f; goto IL_1F60; } goto IL_1F60; IL_1E4C: num45 = -1; goto IL_1E4F; } } IL_1F60: if (type == 98 && Main.rand.Next(40) == 0 && tile.frameY == 0 && tile.frameX == 0) { int num47 = Dust.NewDust(new Vector2((float)(j * 16 + 12), (float)(i * 16 + 2)), 4, 4, 6, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) != 0) { Main.dust[num47].noGravity = true; } Main.dust[num47].velocity *= 0.3f; Dust expr_2016_cp_0 = Main.dust[num47]; expr_2016_cp_0.velocity.Y = expr_2016_cp_0.velocity.Y - 1.5f; } if (type == 49 && Main.rand.Next(2) == 0) { int num48 = Dust.NewDust(new Vector2((float)(j * 16 + 4), (float)(i * 16 - 4)), 4, 4, 172, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) == 0) { Main.dust[num48].scale = 0.5f; } else { Main.dust[num48].scale = 0.9f; Main.dust[num48].noGravity = true; } Main.dust[num48].velocity *= 0.3f; Dust expr_20ED_cp_0 = Main.dust[num48]; expr_20ED_cp_0.velocity.Y = expr_20ED_cp_0.velocity.Y - 1.5f; } if (type == 34 && Main.rand.Next(40) == 0 && tile.frameX < 54) { int num49 = (int)(tile.frameY / 54); int num50 = (int)(tile.frameX / 18 % 3); int num51 = (int)(tile.frameY / 18 % 3); if (num51 == 1 && num50 != 1) { int num41 = num49; int num52; switch (num41) { case 0: case 1: case 2: case 3: case 4: case 5: case 12: case 13: case 16: goto IL_21D3; case 6: case 7: case 8: case 9: case 10: case 11: case 14: case 15: goto IL_21DE; default: switch (num41) { case 19: case 21: goto IL_21D3; case 20: goto IL_21DE; default: if (num41 != 25) { goto IL_21DE; } num52 = 59; break; } break; } IL_21E1: if (num52 != 1) { int num53 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16 + 2)), 14, 6, num52, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) != 0) { Main.dust[num53].noGravity = true; } Main.dust[num53].velocity *= 0.3f; Dust expr_226C_cp_0 = Main.dust[num53]; expr_226C_cp_0.velocity.Y = expr_226C_cp_0.velocity.Y - 1.5f; goto IL_227D; } goto IL_227D; IL_21DE: num52 = -1; goto IL_21E1; IL_21D3: num52 = 6; goto IL_21E1; } } IL_227D: if (type == 22 && Main.rand.Next(400) == 0) { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 0, default(Color), 1f); } else { if ((type == 23 || type == 24 || type == 32) && Main.rand.Next(500) == 0) { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 0, default(Color), 1f); } else { if (type == 25 && Main.rand.Next(700) == 0) { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 0, default(Color), 1f); } else { if (type == 112 && Main.rand.Next(700) == 0) { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 0, default(Color), 1f); } else { if (type == 31 && Main.rand.Next(20) == 0) { if (tile.frameX >= 36) { int num54 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 5, 0f, 0f, 100, default(Color), 1f); Main.dust[num54].velocity.Y = 0f; Dust expr_246A_cp_0 = Main.dust[num54]; expr_246A_cp_0.velocity.X = expr_246A_cp_0.velocity.X * 0.3f; } else { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 100, default(Color), 1f); } } else { if (type == 26 && Main.rand.Next(20) == 0) { if (tile.frameX >= 54) { int num55 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 5, 0f, 0f, 100, default(Color), 1f); Main.dust[num55].scale = 1.5f; Main.dust[num55].noGravity = true; Main.dust[num55].velocity *= 0.75f; } else { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 100, default(Color), 1f); } } else { if ((type == 71 || type == 72) && Main.rand.Next(500) == 0) { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 41, 0f, 0f, 250, default(Color), 0.8f); } else { if ((type == 17 || type == 77 || type == 133) && Main.rand.Next(40) == 0) { if (tile.frameX == 18 & tile.frameY == 18) { int num56 = Dust.NewDust(new Vector2((float)(j * 16 - 4), (float)(i * 16 - 6)), 8, 6, 6, 0f, 0f, 100, default(Color), 1f); if (Main.rand.Next(3) != 0) { Main.dust[num56].noGravity = true; } } } else { if (type == 37 && Main.rand.Next(250) == 0) { int num57 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 6, 0f, 0f, 0, default(Color), (float)Main.rand.Next(3)); if (Main.dust[num57].scale > 1f) { Main.dust[num57].noGravity = true; } } else { if ((type == 58 || type == 76) && Main.rand.Next(250) == 0) { int num58 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 6, 0f, 0f, 0, default(Color), (float)Main.rand.Next(3)); if (Main.dust[num58].scale > 1f) { Main.dust[num58].noGravity = true; } Main.dust[num58].noLight = true; } else { if (type == 61) { if (tile.frameX == 144) { if (Main.rand.Next(60) == 0) { int num59 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 44, 0f, 0f, 250, default(Color), 0.4f); Main.dust[num59].fadeIn = 0.7f; } color.A = (byte)(245f - (float)Main.mouseTextColor * 1.5f); color.R = (byte)(245f - (float)Main.mouseTextColor * 1.5f); color.B = (byte)(245f - (float)Main.mouseTextColor * 1.5f); color.G = (byte)(245f - (float)Main.mouseTextColor * 1.5f); } } else { if (Main.tileShine[(int)type] > 0) { Main.tileShine[211] = 500; if (color.R > 20 || color.B > 20 || color.G > 20) { int num60 = (int)color.R; if ((int)color.G > num60) { num60 = (int)color.G; } if ((int)color.B > num60) { num60 = (int)color.B; } num60 /= 30; if (Main.rand.Next(Main.tileShine[(int)type]) < num60 && (type != 21 || (tile.frameX >= 36 && tile.frameX < 180) || (tile.frameX >= 360 && tile.frameX < 1008))) { Color white = Color.White; if (type == 178) { int num61 = (int)(tile.frameX / 18); if (num61 == 0) { white = new Color(255, 0, 255, 255); } else { if (num61 == 1) { white = new Color(255, 255, 0, 255); } else { if (num61 == 2) { white = new Color(0, 0, 255, 255); } else { if (num61 == 3) { white = new Color(0, 255, 0, 255); } else { if (num61 == 4) { white = new Color(255, 0, 0, 255); } else { if (num61 == 5) { white = new Color(255, 255, 255, 255); } else { if (num61 == 6) { white = new Color(255, 255, 0, 255); } } } } } } } int num62 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 43, 0f, 0f, 254, white, 0.5f); Main.dust[num62].velocity *= 0f; } else { if (type == 63) { white = new Color(0, 0, 255, 255); } if (type == 64) { white = new Color(255, 0, 0, 255); } if (type == 65) { white = new Color(0, 255, 0, 255); } if (type == 66) { white = new Color(255, 255, 0, 255); } if (type == 67) { white = new Color(255, 0, 255, 255); } if (type == 68) { white = new Color(255, 255, 255, 255); } if (type == 12) { white = new Color(255, 0, 0, 255); } if (type == 204) { white = new Color(255, 0, 0, 255); } if (type == 211) { white = new Color(50, 255, 100, 255); } int num63 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 43, 0f, 0f, 254, white, 0.5f); Main.dust[num63].velocity *= 0f; } } } } } } } } } } } } } } } } if (type == 269 || type == 128) { int num64 = (int)(tile.frameY / 18); if (num64 == 2) { if (tile.frameX >= 100) { bool flag4 = false; int l = (int)Main.tile[j, i - 1].frameX; if (l >= 100) { int num65 = 0; while (l >= 100) { num65++; l -= 100; } int num41 = num65; if (num41 <= 36) { if (num41 != 15 && num41 != 36) { goto IL_2CD6; } } else { switch (num41) { case 41: case 42: break; default: switch (num41) { case 58: case 59: case 60: case 61: case 62: case 63: break; default: goto IL_2CD6; } break; } } flag4 = true; } IL_2CD6: if (!flag4) { array[num3] = j; array2[num3] = i; num3++; } } if (Main.tile[j, i - 1].frameX >= 100) { array[num3] = j; array2[num3] = i - 1; num3++; } if (Main.tile[j, i - 2].frameX >= 100) { array[num3] = j; array2[num3] = i - 2; num3++; } } } if (type == 5 && tile.frameY >= 198 && tile.frameX >= 22) { array[num3] = j; array2[num3] = i; num3++; } if (type == 323 && tile.frameX <= 132 && tile.frameX >= 88) { array[num3] = j; array2[num3] = i; num3++; } if (type == 237 && tile.frameX == 18 && tile.frameY == 0) { array[num3] = j; array2[num3] = i; num3++; } if (type == 334) { int num66 = (int)(tile.frameY / 18); if (num66 == 1 && tile.frameX >= 5000) { int m = (int)Main.tile[j, i].frameX; int num67 = 0; while (m >= 5000) { num67++; m -= 5000; } if (num67 == 1 || num67 == 4) { array[num3] = j; array2[num3] = i; num3++; } } } if (type == 5 && tile.frameY >= 198 && tile.frameX >= 22) { array[num3] = j; array2[num3] = i; num3++; } if (type == 323 && tile.frameX <= 132 && tile.frameX >= 88) { array[num3] = j; array2[num3] = i; num3++; } if (type == 237 && tile.frameX == 18 && tile.frameY == 0) { array[num3] = j; array2[num3] = i; num3++; } if (type == 72 && tile.frameX >= 36) { int num68 = 0; if (tile.frameY == 18) { num68 = 1; } else { if (tile.frameY == 36) { num68 = 2; } } Main.spriteBatch.Draw(Main.shroomCapTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X - 22), (float)(i * 16 - (int)Main.screenPosition.Y - 26)) + zero, new Rectangle?(new Rectangle(num68 * 62, 0, 60, 42)), Lighting.GetColor(j, i), 0f, default(Vector2), 1f, effects, 0f); } if (color.R > 1 || color.G > 1 || color.B > 1) { Tile tile2 = Main.tile[j + 1, i]; Tile tile3 = Main.tile[j - 1, i]; Tile tile4 = Main.tile[j, i - 1]; Tile tile5 = Main.tile[j, i + 1]; if (tile2 == null) { tile2 = new Tile(); Main.tile[j + 1, i] = tile2; } if (tile3 == null) { tile3 = new Tile(); Main.tile[j - 1, i] = tile3; } if (tile4 == null) { tile4 = new Tile(); Main.tile[j, i - 1] = tile4; } if (tile5 == null) { tile5 = new Tile(); Main.tile[j, i + 1] = tile5; } if (solidOnly && flag && !tile.inActive() && !Main.tileSolidTop[(int)type]) { bool flag5 = false; if (tile.halfBrick()) { int num69 = 160; if (((int)tile3.liquid > num69 || (int)tile2.liquid > num69) && this.waterfallManager.CheckForWaterfall(j, i)) { flag5 = true; } } if (!flag5) { int num70 = 0; bool flag6 = false; bool flag7 = false; bool flag8 = false; bool flag9 = false; int num71 = 0; bool flag10 = false; int num72 = (int)tile.slope(); if (tile3.liquid > 0 && num72 != 1 && num72 != 3) { flag6 = true; switch (tile3.liquidType()) { case 0: flag10 = true; break; case 1: num71 = 1; break; case 2: num71 = 11; break; } if ((int)tile3.liquid > num70) { num70 = (int)tile3.liquid; } } if (tile2.liquid > 0 && num72 != 2 && num72 != 4) { flag7 = true; switch (tile2.liquidType()) { case 0: flag10 = true; break; case 1: num71 = 1; break; case 2: num71 = 11; break; } if ((int)tile2.liquid > num70) { num70 = (int)tile2.liquid; } } if (tile4.liquid > 0 && num72 != 3 && num72 != 4) { flag8 = true; switch (tile4.liquidType()) { case 0: flag10 = true; break; case 1: num71 = 1; break; case 2: num71 = 11; break; } } if (tile5.liquid > 0 && num72 != 1 && num72 != 2) { if (tile5.liquid > 240) { flag9 = true; } switch (tile5.liquidType()) { case 0: flag10 = true; break; case 1: num71 = 1; break; case 2: num71 = 11; break; } } if (num71 == 0) { num71 = Main.waterStyle; } if ((flag8 || flag9 || flag6 || flag7) && (!flag10 || num71 != 1)) { Color color2 = Lighting.GetColor(j, i); Vector2 value = new Vector2((float)(j * 16), (float)(i * 16)); Rectangle value2 = new Rectangle(0, 4, 16, 16); if (flag9 && (flag6 || flag7)) { flag6 = true; flag7 = true; } if ((!flag8 || (!flag6 && !flag7)) && (!flag9 || !flag8)) { if (flag8) { value2 = new Rectangle(0, 4, 16, 4); if (tile.halfBrick() || tile.slope() != 0) { value2 = new Rectangle(0, 4, 16, 12); } } else { if (flag9 && !flag6 && !flag7) { value = new Vector2((float)(j * 16), (float)(i * 16 + 12)); value2 = new Rectangle(0, 4, 16, 4); } else { float num73 = (float)(256 - num70); num73 /= 32f; int y = 4; if (tile4.liquid == 0 && !WorldGen.SolidTile(j, i - 1)) { y = 0; } if ((flag6 && flag7) || tile.halfBrick() || tile.slope() != 0) { value = new Vector2((float)(j * 16), (float)(i * 16 + (int)num73 * 2)); value2 = new Rectangle(0, y, 16, 16 - (int)num73 * 2); } else { if (flag6) { value = new Vector2((float)(j * 16), (float)(i * 16 + (int)num73 * 2)); value2 = new Rectangle(0, y, 4, 16 - (int)num73 * 2); } else { value = new Vector2((float)(j * 16 + 12), (float)(i * 16 + (int)num73 * 2)); value2 = new Rectangle(0, y, 4, 16 - (int)num73 * 2); } } } } } float num74 = 0.5f; if (num71 == 1) { num74 = 1f; } else { if (num71 == 11) { num74 *= 1.7f; if (num74 > 1f) { num74 = 1f; } } } if ((double)i < Main.worldSurface || num74 > 1f) { num74 = 1f; if (tile4.wall > 0 || tile3.wall > 0 || tile2.wall > 0 || tile5.wall > 0) { num74 = 0.65f; } if (tile.wall > 0) { num74 = 0.5f; } } if (tile.halfBrick() && tile4.liquid > 0 && tile.wall > 0) { num74 = 0f; } float num75 = (float)color2.R * num74; float num76 = (float)color2.G * num74; float num77 = (float)color2.B * num74; float num78 = (float)color2.A * num74; color2 = new Color((int)((byte)num75), (int)((byte)num76), (int)((byte)num77), (int)((byte)num78)); Main.spriteBatch.Draw(Main.liquidTexture[num71], value - Main.screenPosition + zero, new Rectangle?(value2), color2, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } } } if (type == 314) { if (tile.inActive()) { color = tile.actColor(color); } else { if (Main.tileShine2[(int)type]) { color = Main.shine(color, (int)type); } } int num79; int num80; Minecart.TrackColors(j, i, tile, out num79, out num80); Texture2D texture; if (Main.canDrawColorTile(type, num79)) { texture = Main.tileAltTexture[(int)type, num79]; } else { texture = Main.tileTexture[(int)type]; } Texture2D texture2; if (Main.canDrawColorTile(type, num80)) { texture2 = Main.tileAltTexture[(int)type, num80]; } else { texture2 = Main.tileTexture[(int)type]; } tile.frameNumber(); if (tile.frameY != -1) { Main.spriteBatch.Draw(texture2, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)(i * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect((int)tile.frameY, Main.tileFrame[314])), color, 0f, default(Vector2), 1f, effects, 0f); } Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)(i * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect((int)tile.frameX, Main.tileFrame[314])), color, 0f, default(Vector2), 1f, effects, 0f); if (Minecart.DrawLeftDecoration((int)tile.frameY)) { Main.spriteBatch.Draw(texture2, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)((i + 1) * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect(36, 0)), color, 0f, default(Vector2), 1f, effects, 0f); } if (Minecart.DrawLeftDecoration((int)tile.frameX)) { Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)((i + 1) * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect(36, 0)), color, 0f, default(Vector2), 1f, effects, 0f); } if (Minecart.DrawRightDecoration((int)tile.frameY)) { Main.spriteBatch.Draw(texture2, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)((i + 1) * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect(37, Main.tileFrame[314])), color, 0f, default(Vector2), 1f, effects, 0f); } if (Minecart.DrawRightDecoration((int)tile.frameX)) { Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)((i + 1) * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect(37, 0)), color, 0f, default(Vector2), 1f, effects, 0f); } if (Minecart.DrawBumper((int)tile.frameX)) { Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)((i - 1) * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect(39, 0)), color, 0f, default(Vector2), 1f, effects, 0f); } else { if (Minecart.DrawBouncyBumper((int)tile.frameX)) { Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X), (float)((i - 1) * 16 - (int)Main.screenPosition.Y)) + zero, new Rectangle?(Minecart.GetSourceRect(38, 0)), color, 0f, default(Vector2), 1f, effects, 0f); } } } else { if (type == 51) { Color color3 = Lighting.GetColor(j, i); float num81 = 0.5f; float num82 = (float)color3.R * num81; float num83 = (float)color3.G * num81; float num84 = (float)color3.B * num81; float num85 = (float)color3.A * num81; color3 = new Color((int)((byte)num82), (int)((byte)num83), (int)((byte)num84), (int)((byte)num85)); if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color3, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color3, 0f, default(Vector2), 1f, effects, 0f); } } else { if (type == 171) { if (tile.frameX >= 10) { int num86 = 0; if ((tile.frameY & 1) == 1) { num86++; } if ((tile.frameY & 2) == 2) { num86 += 2; } if ((tile.frameY & 4) == 4) { num86 += 4; } int num87 = 0; if ((tile.frameY & 8) == 8) { num87++; } if ((tile.frameY & 16) == 16) { num87 += 2; } if ((tile.frameY & 32) == 32) { num87 += 4; } int num88 = 0; if ((tile.frameY & 64) == 64) { num88++; } if ((tile.frameY & 128) == 128) { num88 += 2; } if ((tile.frameY & 256) == 256) { num88 += 4; } if ((tile.frameY & 512) == 512) { num88 += 8; } int num89 = 0; if ((tile.frameY & 1024) == 1024) { num89++; } if ((tile.frameY & 2048) == 2048) { num89 += 2; } if ((tile.frameY & 4096) == 4096) { num89 += 4; } if ((tile.frameY & 8192) == 8192) { num89 += 8; } Color color4 = Lighting.GetColor(j + 1, i + 4); Main.spriteBatch.Draw(Main.xmasTree[0], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(0, 0, 64, 128)), color4, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); if (num86 > 0) { num86--; Color color5 = color4; if (num86 != 3) { color5 = new Color(255, 255, 255, 255); } Main.spriteBatch.Draw(Main.xmasTree[3], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(66 * num86, 0, 64, 128)), color5, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } if (num87 > 0) { num87--; Main.spriteBatch.Draw(Main.xmasTree[1], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(66 * num87, 0, 64, 128)), color4, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } if (num88 > 0) { num88--; Main.spriteBatch.Draw(Main.xmasTree[2], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(66 * num88, 0, 64, 128)), color4, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } if (num89 > 0) { num89--; Main.spriteBatch.Draw(Main.xmasTree[4], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(66 * num89, 130 * Main.tileFrame[171], 64, 128)), new Color(255, 255, 255, 255), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } } } else { if (type == 160 && !tile.halfBrick()) { Color color6 = default(Color); color6 = new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB, 255); if (tile.inActive()) { color6 = tile.actColor(color6); } if (tile.slope() == 0) { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color6, 0f, default(Vector2), 1f, effects, 0f); } else { if (tile.slope() > 2) { if (tile.slope() == 3) { for (int n = 0; n < 8; n++) { int num90 = 2; int num91 = n * 2; int num92 = n * -2; int num93 = 16 - n * 2; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num91, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + n * num90 + num92)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num91, (int)(tile.frameY + 16) - num93, num90, num93)), color6, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num91, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + n * num90 + num92)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num91, (int)(tile.frameY + 16) - num93, num90, num93)), color6, 0f, default(Vector2), 1f, effects, 0f); } } } else { for (int num94 = 0; num94 < 8; num94++) { int num95 = 2; int num96 = 16 - num94 * num95 - num95; int num97 = 16 - num94 * num95; int num98 = num94 * -2; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num96, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num94 * num95 + num98)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num96, (int)(tile.frameY + 16) - num97, num95, num97)), color6, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num96, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num94 * num95 + num98)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num96, (int)(tile.frameY + 16) - num97, num95, num97)), color6, 0f, default(Vector2), 1f, effects, 0f); } } } if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, 16, 2)), color6, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, 16, 2)), color6, 0f, default(Vector2), 1f, effects, 0f); } } else { if (tile.slope() == 1) { for (int num99 = 0; num99 < 8; num99++) { int num100 = 2; int num101 = num99 * 2; int height = 14 - num99 * num100; Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num101, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num99 * num100)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num101, (int)tile.frameY, num100, height)), color6, 0f, default(Vector2), 1f, effects, 0f); } } if (tile.slope() == 2) { for (int num102 = 0; num102 < 8; num102++) { int num103 = 2; int num104 = 16 - num102 * num103 - num103; int height2 = 14 - num102 * num103; Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num104, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num102 * num103)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num104, (int)tile.frameY, num103, height2)), color6, 0f, default(Vector2), 1f, effects, 0f); } } Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 14)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 14), 16, 2)), color6, 0f, default(Vector2), 1f, effects, 0f); } } } else { if (tile.slope() > 0) { if (tile.inActive()) { color = tile.actColor(color); } else { if (Main.tileShine2[(int)type]) { color = Main.shine(color, (int)type); } } if (tile.type == 19) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } if (tile.slope() == 1 && Main.tile[j + 1, i + 1].active() && Main.tile[j + 1, i + 1].slope() != 2 && !Main.tile[j + 1, i + 1].halfBrick()) { if (Main.tile[j + 1, i + 1].type == 19 && Main.tile[j + 1, i + 1].slope() == 0) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(324, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(324, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(198, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(198, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } } } else { if (tile.slope() == 2 && Main.tile[j - 1, i + 1].active() && Main.tile[j - 1, i + 1].slope() != 1 && !Main.tile[j - 1, i + 1].halfBrick()) { if (Main.tile[j - 1, i + 1].type == 19 && Main.tile[j - 1, i + 1].slope() == 0) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(306, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(306, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(162, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 16)) + zero, new Rectangle?(new Rectangle(162, (int)tile.frameY, 16, 16)), color, 0f, default(Vector2), 1f, effects, 0f); } } } } } else { if (tile.slope() > 2) { if (tile.slope() == 3) { for (int num105 = 0; num105 < 8; num105++) { int num106 = 2; int num107 = num105 * 2; int num108 = num105 * -2; int num109 = 16 - num105 * 2; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num107, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num105 * num106 + num108)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num107 + num14, (int)(tile.frameY + 16) - num109 + num13, num106, num109)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num107, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num105 * num106 + num108)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num107 + num14, (int)(tile.frameY + 16) - num109 + num13, num106, num109)), color, 0f, default(Vector2), 1f, effects, 0f); } } } else { for (int num110 = 0; num110 < 8; num110++) { int num111 = 2; int num112 = 16 - num110 * num111 - num111; int num113 = 16 - num110 * num111; int num114 = num110 * -2; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num112, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num110 * num111 + num114)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num112 + num14, (int)(tile.frameY + 16) - num113 + num13, num111, num113)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num112, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num110 * num111 + num114)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num112 + num14, (int)(tile.frameY + 16) - num113 + num13, num111, num113)), color, 0f, default(Vector2), 1f, effects, 0f); } } } if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY + num13, 16, 2)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY + num13, 16, 2)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (tile.slope() == 1) { for (int num115 = 0; num115 < 8; num115++) { int num116 = 2; int num117 = num115 * 2; int height3 = 14 - num115 * num116; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num117, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num115 * num116)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num117 + num14, (int)tile.frameY + num13, num116, height3)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num117, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num115 * num116)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num117 + num14, (int)tile.frameY + num13, num116, height3)), color, 0f, default(Vector2), 1f, effects, 0f); } } } if (tile.slope() == 2) { for (int num118 = 0; num118 < 8; num118++) { int num119 = 2; int num120 = 16 - num118 * num119 - num119; int height4 = 14 - num118 * num119; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num120, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num118 * num119)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num120 + num14, (int)tile.frameY + num13, num119, height4)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num120, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num118 * num119)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num120 + num14, (int)tile.frameY + num13, num119, height4)), color, 0f, default(Vector2), 1f, effects, 0f); } } } if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 14)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)(tile.frameY + 14) + num13, 16, 2)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 14)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)(tile.frameY + 14) + num13, 16, 2)), color, 0f, default(Vector2), 1f, effects, 0f); } } } } else { if (type == 129) { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } else { if (Main.tileAlch[(int)type]) { num11 = 20; num10 = -1; int num121 = (int)type; int num122 = (int)(tile.frameX / 18); if (num121 > 82) { if (num122 == 0 && Main.dayTime) { num121 = 84; } if (num122 == 1 && !Main.dayTime) { num121 = 84; } if (num122 == 3 && Main.bloodMoon) { num121 = 84; } if (num122 == 4 && (Main.raining || Main.cloudAlpha > 0f)) { num121 = 84; } } if (num121 == 84) { if (num122 == 0 && Main.rand.Next(100) == 0) { int num123 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16 - 4)), 16, 16, 19, 0f, 0f, 160, default(Color), 0.1f); Dust expr_5AF7_cp_0 = Main.dust[num123]; expr_5AF7_cp_0.velocity.X = expr_5AF7_cp_0.velocity.X / 2f; Dust expr_5B15_cp_0 = Main.dust[num123]; expr_5B15_cp_0.velocity.Y = expr_5B15_cp_0.velocity.Y / 2f; Main.dust[num123].noGravity = true; Main.dust[num123].fadeIn = 1f; } if (num122 == 1 && Main.rand.Next(100) == 0) { Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 41, 0f, 0f, 250, default(Color), 0.8f); } if (num122 == 3) { if (Main.rand.Next(200) == 0) { int num124 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 14, 0f, 0f, 100, default(Color), 0.2f); Main.dust[num124].fadeIn = 1.2f; } if (Main.rand.Next(75) == 0) { int num125 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 27, 0f, 0f, 100, default(Color), 1f); Dust expr_5C58_cp_0 = Main.dust[num125]; expr_5C58_cp_0.velocity.X = expr_5C58_cp_0.velocity.X / 2f; Dust expr_5C76_cp_0 = Main.dust[num125]; expr_5C76_cp_0.velocity.Y = expr_5C76_cp_0.velocity.Y / 2f; } } if (num122 == 4 && Main.rand.Next(150) == 0) { int num126 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 8, 16, 0f, 0f, 0, default(Color), 1f); Dust expr_5CEB_cp_0 = Main.dust[num126]; expr_5CEB_cp_0.velocity.X = expr_5CEB_cp_0.velocity.X / 3f; Dust expr_5D09_cp_0 = Main.dust[num126]; expr_5D09_cp_0.velocity.Y = expr_5D09_cp_0.velocity.Y / 3f; Dust expr_5D27_cp_0 = Main.dust[num126]; expr_5D27_cp_0.velocity.Y = expr_5D27_cp_0.velocity.Y - 0.7f; Main.dust[num126].alpha = 50; Main.dust[num126].scale *= 0.1f; Main.dust[num126].fadeIn = 0.9f; Main.dust[num126].noGravity = true; } if (num122 == 5) { if (Main.rand.Next(40) == 0) { int num127 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16 - 6)), 16, 16, 6, 0f, 0f, 0, default(Color), 1.5f); Dust expr_5DE0_cp_0 = Main.dust[num127]; expr_5DE0_cp_0.velocity.Y = expr_5DE0_cp_0.velocity.Y - 2f; Main.dust[num127].noGravity = true; } color.A = Main.mouseTextColor / 2; color.G = Main.mouseTextColor; color.B = Main.mouseTextColor; } if (num122 == 6) { if (Main.rand.Next(30) == 0) { Color newColor = new Color(50, 255, 255, 255); int num128 = Dust.NewDust(new Vector2((float)(j * 16), (float)(i * 16)), 16, 16, 43, 0f, 0f, 254, newColor, 0.5f); Main.dust[num128].velocity *= 0f; } byte b3 = (Main.mouseTextColor + color.G * 2) / 3; byte b4 = (Main.mouseTextColor + color.B * 2) / 3; if (b3 > color.G) { color.G = b3; } if (b4 > color.B) { color.B = b4; } } } if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { this.LoadTiles(num121); Main.spriteBatch.Draw(Main.tileTexture[num121], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (type == 80) { bool flag11 = false; bool flag12 = false; bool flag13 = false; if (!Main.canDrawColorTile(j, i)) { int num129 = j; if (tile.frameX == 36) { num129--; } if (tile.frameX == 54) { num129++; } if (tile.frameX == 108) { if (tile.frameY == 18) { num129--; } else { num129++; } } int num130 = i; bool flag14 = false; if (Main.tile[num129, num130].type == 80 && Main.tile[num129, num130].active()) { flag14 = true; } while (!Main.tile[num129, num130].active() || !Main.tileSolid[(int)Main.tile[num129, num130].type] || !flag14) { if (Main.tile[num129, num130].type == 80 && Main.tile[num129, num130].active()) { flag14 = true; } num130++; if (num130 > i + 20) { break; } } if (Main.tile[num129, num130].type == 112) { flag11 = true; } if (Main.tile[num129, num130].type == 116) { flag12 = true; } if (Main.tile[num129, num130].type == 234) { flag13 = true; } } if (flag11) { Main.spriteBatch.Draw(Main.evilCactusTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { if (flag13) { Main.spriteBatch.Draw(Main.crimsonCactusTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { if (flag12) { Main.spriteBatch.Draw(Main.goodCactusTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } } } } else { if (type == 272 && !tile.halfBrick() && !Main.tile[j - 1, i].halfBrick() && !Main.tile[j + 1, i].halfBrick()) { int num131 = Main.tileFrame[(int)type]; num131 += j % 2; num131 += i % 2; num131 += j % 3; for (num131 += i % 3; num131 > 1; num131 -= 2) { } num131 *= 90; if (tile.inActive()) { color = tile.actColor(color); } else { if (Main.tileShine2[(int)type]) { color = Main.shine(color, (int)type); } } if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY + num131, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY + num131, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (type == 160) { color = new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB, 255); } if (type != 19 && Main.tileSolid[(int)type] && !tile.halfBrick() && (Main.tile[j - 1, i].halfBrick() || Main.tile[j + 1, i].halfBrick())) { if (tile.inActive()) { color = tile.actColor(color); } else { if (Main.tileShine2[(int)type]) { color = Main.shine(color, (int)type); } } if (Main.tile[j - 1, i].halfBrick() && Main.tile[j + 1, i].halfBrick()) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 8)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 8), num9, 8)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(126, 0, 16, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 8)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 8), num9, 8)), color, 0f, default(Vector2), 1f, effects, 0f); if (!Main.tile[j, i - 1].bottomSlope() && Main.tile[j, i - 1].type == type) { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(90, 0, 16, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(126, 0, 16, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } } } else { if (Main.tile[j - 1, i].halfBrick()) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 8)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 8), num9, 8)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + 4f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)(tile.frameX + 4), (int)tile.frameY, num9 - 4, num11)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(126, 0, 4, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 8)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 8), num9, 8)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + 4f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)(tile.frameX + 4), (int)tile.frameY, num9 - 4, num11)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(126, 0, 4, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (Main.tile[j + 1, i].halfBrick()) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 8)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 8), num9, 8)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9 - 4, num11)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + 12f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(138, 0, 4, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 8)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)(tile.frameY + 8), num9, 8)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9 - 4, num11)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + 12f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(138, 0, 4, 8)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } } } } else { if (Lighting.lightMode < 2 && Main.tileSolid[(int)type] && type != 137 && type != 235 && !tile.halfBrick() && !tile.inActive()) { if ((int)color.R > num || (double)color.G > (double)num * 1.1 || (double)color.B > (double)num * 1.2) { Lighting.GetColor9Slice(j, i, ref array3); bool flag15 = tile.inActive(); bool flag16 = Main.tileShine2[(int)type]; Texture2D texture; if (Main.canDrawColorTile(j, i)) { texture = Main.tileAltTexture[(int)type, (int)tile.color()]; } else { texture = Main.tileTexture[(int)type]; } for (int num132 = 0; num132 < 9; num132++) { int num133 = 0; int num134 = 0; int width = 4; int height5 = 4; switch (num132) { case 1: width = 8; num133 = 4; break; case 2: num133 = 12; break; case 3: height5 = 8; num134 = 4; break; case 4: width = 8; height5 = 8; num133 = 4; num134 = 4; break; case 5: num133 = 12; num134 = 4; height5 = 8; break; case 6: num134 = 12; break; case 7: width = 8; height5 = 4; num133 = 4; num134 = 12; break; case 8: num133 = 12; num134 = 12; break; } Color color7 = color; Color color8 = array3[num132]; color7.R = (color.R + color8.R) / 2; color7.G = (color.G + color8.G) / 2; color7.B = (color.B + color8.B) / 2; if (flag15) { color7 = tile.actColor(color7); } else { if (flag16) { color7 = Main.shine(color7, (int)type); } } Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num133, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num134)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num133 + num14, (int)tile.frameY + num134 + num13, width, height5)), color7, 0f, default(Vector2), 1f, effects, 0f); } } else { if ((int)color.R > num2 || (double)color.G > (double)num2 * 1.1 || (double)color.B > (double)num2 * 1.2) { Lighting.GetColor4Slice(j, i, ref array3); bool flag17 = tile.inActive(); bool flag18 = Main.tileShine2[(int)type]; Texture2D texture; if (Main.canDrawColorTile(j, i)) { texture = Main.tileAltTexture[(int)type, (int)tile.color()]; } else { texture = Main.tileTexture[(int)type]; } for (int num135 = 0; num135 < 4; num135++) { int num136 = 0; int num137 = 0; switch (num135) { case 1: num136 = 8; break; case 2: num137 = 8; break; case 3: num136 = 8; num137 = 8; break; } Color color9 = color; Color color10 = array3[num135]; color9.R = (color.R + color10.R) / 2; color9.G = (color.G + color10.G) / 2; color9.B = (color.B + color10.B) / 2; if (flag17) { color9 = tile.actColor(color9); } else { if (flag18) { color9 = Main.shine(color9, (int)type); } } Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)num136, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num137)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num136 + num14, (int)tile.frameY + num137 + num13, 8, 8)), color9, 0f, default(Vector2), 1f, effects, 0f); } } else { if (tile.inActive()) { color = tile.actColor(color); } else { if (Main.tileShine2[(int)type]) { color = Main.shine(color, (int)type); } } Texture2D texture; if (Main.canDrawColorTile(j, i)) { texture = Main.tileAltTexture[(int)type, (int)tile.color()]; } else { texture = Main.tileTexture[(int)type]; } Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY + num13, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } } else { if (Lighting.lightMode < 2 && Main.tileShine2[(int)type]) { if (type == 21) { if (tile.frameX >= 36 && tile.frameX < 178) { color = Main.shine(color, (int)type); } } else { if (!tile.inActive()) { color = Main.shine(color, (int)type); } } } if (tile.inActive()) { color = tile.actColor(color); } if (type == 128 || type == 269) { int num138; for (num138 = (int)tile.frameX; num138 >= 100; num138 -= 100) { } Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(num138, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { if (type == 334) { int num139 = (int)tile.frameX; int num140 = 0; while (num139 >= 5000) { num139 -= 5000; num140++; } if (num140 != 0) { num139 = (num140 - 1) * 18; } Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle(num139, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { if (type == 5) { int num141 = -1; int num142 = j; int num143 = i; if (tile.frameX == 66 && tile.frameY <= 45) { num142++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num142--; } if (tile.frameX == 22 && tile.frameY >= 132) { num142--; } if (tile.frameX == 44 && tile.frameY >= 132) { num142++; } while (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 5) { num143++; } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 23) { num141 = 0; } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 60) { num141 = 1; } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 70) { num141 = 6; } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 60 && (double)num143 > Main.worldSurface) { num141 = 5; } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 109) { num141 = 2; } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 147) { num141 = 3; if (WorldGen.snowBG == 0) { num141 = -1; } } if (Main.tile[num142, num143].active() && Main.tile[num142, num143].type == 199) { num141 = 4; } if (num141 == -1 || Main.canDrawColorTile(j, i)) { if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { Main.spriteBatch.Draw(Main.woodTexture[num141], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (type == 323) { int num144 = -1; int num145 = j; int num146 = i; while (Main.tile[num145, num146].active() && Main.tile[num145, num146].type == 323) { num146++; } if (Main.tile[num145, num146].active() && Main.tile[num145, num146].type == 53) { num144 = 0; } if (Main.tile[num145, num146].active() && Main.tile[num145, num146].type == 234) { num144 = 1; } if (Main.tile[num145, num146].active() && Main.tile[num145, num146].type == 116) { num144 = 2; } if (Main.tile[num145, num146].active() && Main.tile[num145, num146].type == 112) { num144 = 3; } int y2 = 22 * num144; int frameY = (int)tile.frameY; if (Main.canDrawColorTile(j, i)) { Main.spriteBatch.Draw(Main.tileAltTexture[(int)type, (int)tile.color()], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)frameY, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, y2, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(Main.tileTexture[(int)type], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + (float)frameY, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, y2, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { if (num12 == 8 && (!Main.tile[j, i + 1].active() || !Main.tileSolid[(int)Main.tile[j, i + 1].type] || Main.tile[j, i + 1].halfBrick())) { Texture2D texture; if (Main.canDrawColorTile(j, i)) { texture = Main.tileAltTexture[(int)type, (int)tile.color()]; } else { texture = Main.tileTexture[(int)type]; } if (type == 19) { Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num12)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), color, 0f, default(Vector2), 1f, effects, 0f); } else { Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num12)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11 - num12 - 4)), color, 0f, default(Vector2), 1f, effects, 0f); Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + 12)) + zero, new Rectangle?(new Rectangle(144, 66, num9, 4)), color, 0f, default(Vector2), 1f, effects, 0f); } } else { Texture2D texture; if (Main.canDrawColorTile(j, i)) { texture = Main.tileAltTexture[(int)type, (int)tile.color()]; } else { texture = Main.tileTexture[(int)type]; } Main.spriteBatch.Draw(texture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10 + num12)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY + num13, num9, num11 - num12)), color, 0f, default(Vector2), 1f, effects, 0f); } if (type == 286) { Main.spriteBatch.Draw(Main.glowSnailTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY + num13, num9, num11)), new Color(75, 100, 255, 0), 0f, default(Vector2), 1f, effects, 0f); } if (type == 270) { Main.spriteBatch.Draw(Main.fireflyJarTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } if (type == 271) { Main.spriteBatch.Draw(Main.lightningbugJarTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } if (type == 316 || type == 317 || type == 318) { int num147 = j - (int)(tile.frameX / 18); int num148 = i - (int)(tile.frameY / 18); int num149 = num147 / 2 * (num148 / 3); num149 %= Main.cageFrames; Main.spriteBatch.Draw(Main.jellyfishBowlTexture[(int)(type - 316)], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX + num14, (int)tile.frameY + Main.jellyfishCageFrame[(int)(type - 316), num149] * 36, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } if (type == 149 && tile.frameX < 54) { Main.spriteBatch.Draw(Main.xmasLightTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } if (type == 300 || type == 302 || type == 303 || type == 306) { int num150 = 9; if (type == 302) { num150 = 10; } if (type == 303) { num150 = 11; } if (type == 306) { num150 = 12; } Main.spriteBatch.Draw(Main.FlameTexture[num150], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY + num13, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } else { if (Main.tileFlame[(int)type]) { int num151 = (int)type; int num152 = 0; if (num151 == 4) { num152 = 0; } else { if (num151 == 33 || num151 == 174) { num152 = 1; } else { if (num151 == 100 || num151 == 173) { num152 = 2; } else { if (num151 == 34) { num152 = 3; } else { if (num151 == 93) { num152 = 4; } else { if (num151 == 49) { num152 = 5; } else { if (num151 == 98) { num152 = 6; } else { if (num151 == 35) { num152 = 7; } else { if (num151 == 42) { num152 = 13; } } } } } } } } } if (num152 == 7) { for (int num153 = 0; num153 < 4; num153++) { float num154 = (float)Main.rand.Next(-10, 11) * 0.15f; float num155 = (float)Main.rand.Next(-10, 10) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num154, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num155) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } if (num152 == 1) { int num156 = (int)(Main.tile[j, i].frameY / 22); if (num156 == 5 || num156 == 6 || num156 == 7 || num156 == 10) { for (int num157 = 0; num157 < 7; num157++) { float num158 = (float)Main.rand.Next(-10, 11) * 0.075f; float num159 = (float)Main.rand.Next(-10, 11) * 0.075f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num158, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num159) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num156 == 8) { for (int num160 = 0; num160 < 7; num160++) { float num161 = (float)Main.rand.Next(-10, 11) * 0.3f; float num162 = (float)Main.rand.Next(-10, 11) * 0.3f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num161, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num162) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num156 == 12) { for (int num163 = 0; num163 < 7; num163++) { float num164 = (float)Main.rand.Next(-10, 11) * 0.1f; float num165 = (float)Main.rand.Next(-10, 1) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num164, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num165) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num156 == 14) { for (int num166 = 0; num166 < 8; num166++) { float num167 = (float)Main.rand.Next(-10, 11) * 0.1f; float num168 = (float)Main.rand.Next(-10, 11) * 0.1f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num167, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num168) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(75, 75, 75, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num156 == 16) { for (int num169 = 0; num169 < 4; num169++) { float num170 = (float)Main.rand.Next(-10, 11) * 0.15f; float num171 = (float)Main.rand.Next(-10, 11) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num170, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num171) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(75, 75, 75, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { for (int num172 = 0; num172 < 7; num172++) { float num173 = (float)Main.rand.Next(-10, 11) * 0.15f; float num174 = (float)Main.rand.Next(-10, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num173, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num174) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } } } else { if (num152 == 2) { int num175 = (int)(Main.tile[j, i].frameY / 36); if (num175 == 3) { for (int num176 = 0; num176 < 3; num176++) { float num177 = (float)Main.rand.Next(-10, 11) * 0.05f; float num178 = (float)Main.rand.Next(-10, 11) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num177, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num178) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num175 == 6) { for (int num179 = 0; num179 < 5; num179++) { float num180 = (float)Main.rand.Next(-10, 11) * 0.15f; float num181 = (float)Main.rand.Next(-10, 11) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num180, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num181) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(75, 75, 75, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num175 == 9) { for (int num182 = 0; num182 < 7; num182++) { float num183 = (float)Main.rand.Next(-10, 11) * 0.3f; float num184 = (float)Main.rand.Next(-10, 11) * 0.3f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num183, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num184) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num175 == 11) { for (int num185 = 0; num185 < 7; num185++) { float num186 = (float)Main.rand.Next(-10, 11) * 0.1f; float num187 = (float)Main.rand.Next(-10, 1) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num186, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num187) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num175 == 13) { for (int num188 = 0; num188 < 8; num188++) { float num189 = (float)Main.rand.Next(-10, 11) * 0.1f; float num190 = (float)Main.rand.Next(-10, 11) * 0.1f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num189, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num190) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(75, 75, 75, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { for (int num191 = 0; num191 < 7; num191++) { float num192 = (float)Main.rand.Next(-10, 11) * 0.15f; float num193 = (float)Main.rand.Next(-10, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num192, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num193) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } } } else { if (num152 == 3) { int num194 = (int)(Main.tile[j, i].frameY / 54); if (num194 == 8) { for (int num195 = 0; num195 < 7; num195++) { float num196 = (float)Main.rand.Next(-10, 11) * 0.075f; float num197 = (float)Main.rand.Next(-10, 11) * 0.075f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num196, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num197) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num194 == 9) { for (int num198 = 0; num198 < 3; num198++) { float num199 = (float)Main.rand.Next(-10, 11) * 0.05f; float num200 = (float)Main.rand.Next(-10, 11) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num199, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num200) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num194 == 11) { for (int num201 = 0; num201 < 7; num201++) { float num202 = (float)Main.rand.Next(-10, 11) * 0.3f; float num203 = (float)Main.rand.Next(-10, 11) * 0.3f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num202, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num203) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num194 == 15) { for (int num204 = 0; num204 < 7; num204++) { float num205 = (float)Main.rand.Next(-10, 11) * 0.1f; float num206 = (float)Main.rand.Next(-10, 1) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num205, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num206) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num194 == 17 || num194 == 20) { for (int num207 = 0; num207 < 7; num207++) { float num208 = (float)Main.rand.Next(-10, 11) * 0.075f; float num209 = (float)Main.rand.Next(-10, 11) * 0.075f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num208, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num209) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num194 == 18) { for (int num210 = 0; num210 < 8; num210++) { float num211 = (float)Main.rand.Next(-10, 11) * 0.1f; float num212 = (float)Main.rand.Next(-10, 11) * 0.1f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num211, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num212) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(75, 75, 75, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { for (int num213 = 0; num213 < 7; num213++) { float num214 = (float)Main.rand.Next(-10, 11) * 0.15f; float num215 = (float)Main.rand.Next(-10, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num214, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num215) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } } } } else { if (num152 == 4) { int num216 = (int)(Main.tile[j, i].frameY / 54); if (num216 == 1) { for (int num217 = 0; num217 < 3; num217++) { float num218 = (float)Main.rand.Next(-10, 11) * 0.15f; float num219 = (float)Main.rand.Next(-10, 11) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num218, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num219) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num216 == 2 || num216 == 4) { for (int num220 = 0; num220 < 7; num220++) { float num221 = (float)Main.rand.Next(-10, 11) * 0.075f; float num222 = (float)Main.rand.Next(-10, 11) * 0.075f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num221, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num222) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num216 == 3) { for (int num223 = 0; num223 < 7; num223++) { float num224 = (float)Main.rand.Next(-10, 11) * 0.2f; float num225 = (float)Main.rand.Next(-20, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num224, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num225) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num216 == 5) { for (int num226 = 0; num226 < 7; num226++) { float num227 = (float)Main.rand.Next(-10, 11) * 0.3f; float num228 = (float)Main.rand.Next(-10, 11) * 0.3f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num227, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num228) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num216 == 9) { for (int num229 = 0; num229 < 7; num229++) { float num230 = (float)Main.rand.Next(-10, 11) * 0.1f; float num231 = (float)Main.rand.Next(-10, 1) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num230, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num231) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num216 == 13) { for (int num232 = 0; num232 < 8; num232++) { float num233 = (float)Main.rand.Next(-10, 11) * 0.1f; float num234 = (float)Main.rand.Next(-10, 11) * 0.1f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num233, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num234) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(75, 75, 75, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num216 == 12) { float num235 = (float)Main.rand.Next(-10, 11) * 0.01f; float num236 = (float)Main.rand.Next(-10, 11) * 0.01f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num235, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num236) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(Main.rand.Next(90, 111), Main.rand.Next(90, 111), Main.rand.Next(90, 111), 0), 0f, default(Vector2), 1f, effects, 0f); } else { for (int num237 = 0; num237 < 7; num237++) { float num238 = (float)Main.rand.Next(-10, 11) * 0.15f; float num239 = (float)Main.rand.Next(-10, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num238, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num239) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } } } } } else { if (num152 == 13) { int num240 = (int)(tile.frameY / 36); if (num240 == 1 || num240 == 3 || num240 == 6 || num240 == 8 || num240 == 19 || num240 == 27 || num240 == 29 || num240 == 30 || num240 == 31 || num240 == 32) { for (int num241 = 0; num241 < 7; num241++) { float num242 = (float)Main.rand.Next(-10, 11) * 0.15f; float num243 = (float)Main.rand.Next(-10, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num242, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num243) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num240 == 25 || num240 == 16 || num240 == 2) { for (int num244 = 0; num244 < 7; num244++) { float num245 = (float)Main.rand.Next(-10, 11) * 0.15f; float num246 = (float)Main.rand.Next(-10, 1) * 0.1f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num245, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num246) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(50, 50, 50, 0), 0f, default(Vector2), 1f, effects, 0f); } } else { if (num240 == 29) { for (int num247 = 0; num247 < 7; num247++) { float num248 = (float)Main.rand.Next(-10, 11) * 0.15f; float num249 = (float)Main.rand.Next(-10, 1) * 0.15f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num248, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num249) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(25, 25, 25, 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } else { for (int num250 = 0; num250 < 7; num250++) { float num251 = (float)Main.rand.Next(-10, 11) * 0.15f; float num252 = (float)Main.rand.Next(-10, 1) * 0.35f; Main.spriteBatch.Draw(Main.FlameTexture[num152], new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f + num251, (float)(i * 16 - (int)Main.screenPosition.Y + num10) + num252) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(100, 100, 100, 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } } } } if (type == 144) { Main.spriteBatch.Draw(Main.timerTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color(200, 200, 200, 0), 0f, default(Vector2), 1f, effects, 0f); } if (type == 237) { Main.spriteBatch.Draw(Main.sunAltarTexture, new Vector2((float)(j * 16 - (int)Main.screenPosition.X) - ((float)num9 - 16f) / 2f, (float)(i * 16 - (int)Main.screenPosition.Y + num10)) + zero, new Rectangle?(new Rectangle((int)tile.frameX, (int)tile.frameY, num9, num11)), new Color((int)(Main.mouseTextColor / 2), (int)(Main.mouseTextColor / 2), (int)(Main.mouseTextColor / 2), 0), 0f, default(Vector2), 1f, effects, 0f); } } } } } } } } } } } } } } } } } } } } for (int num253 = array.Length - 1; num253 > num4; num253--) { int num254 = array[num253]; int num255 = array2[num253]; Tile tile6 = Main.tile[num254, num255]; ushort type2 = tile6.type; if ((type2 == 128 || type2 == 269) && tile6.frameX >= 100) { int num256 = (int)(tile6.frameY / 18); int num257 = (int)tile6.frameX; int num258 = 0; while (num257 >= 100) { num258++; num257 -= 100; } int num259 = -4; SpriteEffects effects2 = SpriteEffects.FlipHorizontally; if (num257 >= 36) { effects2 = SpriteEffects.None; num259 = -4; } if (num256 == 0) { this.LoadArmorHead(num258); Main.spriteBatch.Draw(Main.armorHeadTexture[num258], new Vector2((float)(num254 * 16 - (int)Main.screenPosition.X + num259), (float)(num255 * 16 - (int)Main.screenPosition.Y - 12)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 36)), Lighting.GetColor(num254, num255), 0f, default(Vector2), 1f, effects2, 0f); } else { if (num256 == 1) { int num260 = -1; int num41 = num258; if (num41 <= 36) { if (num41 != 15) { if (num41 == 36) { num260 = 89; } } else { num260 = 88; } } else { switch (num41) { case 41: num260 = 97; break; case 42: num260 = 90; break; default: switch (num41) { case 58: num260 = 91; break; case 59: num260 = 92; break; case 60: num260 = 93; break; case 61: num260 = 94; break; case 62: num260 = 95; break; case 63: num260 = 96; break; default: switch (num41) { case 165: num260 = 99; break; case 166: num260 = 100; break; case 167: if (type2 == 128) { num260 = 101; } else { num260 = 102; } break; } break; } break; } } if (num260 != -1) { this.LoadArmorLegs(num260); Main.spriteBatch.Draw(Main.armorLegTexture[num260], new Vector2((float)(num254 * 16 - (int)Main.screenPosition.X + num259), (float)(num255 * 16 - (int)Main.screenPosition.Y - 28)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num254, num255), 0f, default(Vector2), 1f, effects2, 0f); } this.LoadArmorBody(num258); if (type2 == 269) { Main.spriteBatch.Draw(Main.femaleBodyTexture[num258], new Vector2((float)(num254 * 16 - (int)Main.screenPosition.X + num259), (float)(num255 * 16 - (int)Main.screenPosition.Y - 28)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num254, num255), 0f, default(Vector2), 1f, effects2, 0f); } else { Main.spriteBatch.Draw(Main.armorBodyTexture[num258], new Vector2((float)(num254 * 16 - (int)Main.screenPosition.X + num259), (float)(num255 * 16 - (int)Main.screenPosition.Y - 28)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num254, num255), 0f, default(Vector2), 1f, effects2, 0f); } } else { if (num256 == 2) { this.LoadArmorLegs(num258); Main.spriteBatch.Draw(Main.armorLegTexture[num258], new Vector2((float)(num254 * 16 - (int)Main.screenPosition.X + num259), (float)(num255 * 16 - (int)Main.screenPosition.Y - 44)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num254, num255), 0f, default(Vector2), 1f, effects2, 0f); } } } } } for (int num261 = 0; num261 < num3; num261++) { int num262 = array[num261]; int num263 = array2[num261]; Tile tile7 = Main.tile[num262, num263]; ushort type3 = tile7.type; if (type3 == 237) { Main.spriteBatch.Draw(Main.sunOrbTexture, new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X) + (float)num9 / 2f, (float)(num263 * 16 - (int)Main.screenPosition.Y - 36)) + zero, new Rectangle?(new Rectangle(0, 0, Main.sunOrbTexture.Width, Main.sunOrbTexture.Height)), new Color((int)Main.mouseTextColor, (int)Main.mouseTextColor, (int)Main.mouseTextColor, 0), Main.sunCircle, new Vector2((float)(Main.sunOrbTexture.Width / 2), (float)(Main.sunOrbTexture.Height / 2)), 1f, SpriteEffects.None, 0f); } if ((type3 == 128 || type3 == 269) && tile7.frameX >= 100) { int num264 = (int)(tile7.frameY / 18); int num265 = (int)tile7.frameX; int num266 = 0; while (num265 >= 100) { num266++; num265 -= 100; } int num267 = -4; SpriteEffects effects3 = SpriteEffects.FlipHorizontally; if (num265 >= 36) { effects3 = SpriteEffects.None; num267 = -4; } if (num264 == 0) { this.LoadArmorHead(num266); Main.spriteBatch.Draw(Main.armorHeadTexture[num266], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + num267), (float)(num263 * 16 - (int)Main.screenPosition.Y - 12)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 36)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, effects3, 0f); } else { if (num264 == 1) { int num268 = -1; int num41 = num266; if (num41 <= 36) { if (num41 != 15) { if (num41 == 36) { num268 = 89; } } else { num268 = 88; } } else { switch (num41) { case 41: num268 = 97; break; case 42: num268 = 90; break; default: switch (num41) { case 58: num268 = 91; break; case 59: num268 = 92; break; case 60: num268 = 93; break; case 61: num268 = 94; break; case 62: num268 = 95; break; case 63: num268 = 96; break; default: switch (num41) { case 165: num268 = 99; break; case 166: num268 = 100; break; case 167: if (type3 == 128) { num268 = 101; } else { num268 = 102; } break; } break; } break; } } if (num268 != -1) { this.LoadArmorLegs(num268); Main.spriteBatch.Draw(Main.armorLegTexture[num268], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + num267), (float)(num263 * 16 - (int)Main.screenPosition.Y - 28)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, effects3, 0f); } this.LoadArmorBody(num266); if (type3 == 269) { Main.spriteBatch.Draw(Main.femaleBodyTexture[num266], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + num267), (float)(num263 * 16 - (int)Main.screenPosition.Y - 28)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, effects3, 0f); } else { Main.spriteBatch.Draw(Main.armorBodyTexture[num266], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + num267), (float)(num263 * 16 - (int)Main.screenPosition.Y - 28)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, effects3, 0f); } } else { if (num264 == 2) { this.LoadArmorLegs(num266); Main.spriteBatch.Draw(Main.armorLegTexture[num266], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + num267), (float)(num263 * 16 - (int)Main.screenPosition.Y - 44)) + zero, new Rectangle?(new Rectangle(0, 0, 40, 54)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, effects3, 0f); } } } } if (type3 == 334 && tile7.frameX >= 5000) { short arg_B6AA_0 = tile7.frameY / 18; int num269 = (int)tile7.frameX; int num270 = 0; int num271 = num269 % 5000; num271 -= 100; while (num269 >= 5000) { num270++; num269 -= 5000; } int num272 = (int)Main.tile[num262 + 1, num263].frameX; if (num272 >= 25000) { num272 -= 25000; } else { num272 -= 10000; } Item item = new Item(); item.netDefaults(num271); item.Prefix(num272); Texture2D texture2D = Main.itemTexture[item.type]; int width2 = texture2D.Width; int height6 = texture2D.Height; float num273 = 1f; if (width2 > 40 || height6 > 40) { if (width2 > height6) { num273 = 40f / (float)width2; } else { num273 = 40f / (float)height6; } } num273 *= item.scale; SpriteEffects effects4 = SpriteEffects.None; if (num270 >= 3) { effects4 = SpriteEffects.FlipHorizontally; } Color color11 = Lighting.GetColor(num262, num263); Main.spriteBatch.Draw(texture2D, new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + 24), (float)(num263 * 16 - (int)Main.screenPosition.Y + 8)) + zero, new Rectangle?(new Rectangle(0, 0, width2, height6)), Lighting.GetColor(num262, num263), 0f, new Vector2((float)(width2 / 2), (float)(height6 / 2)), num273, effects4, 0f); if (item.color != default(Color)) { Main.spriteBatch.Draw(texture2D, new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X + 24), (float)(num263 * 16 - (int)Main.screenPosition.Y + 8)) + zero, new Rectangle?(new Rectangle(0, 0, width2, height6)), item.GetColor(color11), 0f, new Vector2((float)(width2 / 2), (float)(height6 / 2)), num273, effects4, 0f); } } try { if (type3 == 5 && tile7.frameY >= 198 && tile7.frameX >= 22) { int num274 = 0; if (tile7.frameX == 22) { if (tile7.frameY == 220) { num274 = 1; } else { if (tile7.frameY == 242) { num274 = 2; } } int num275 = 0; int num276 = 80; int num277 = 80; int num278 = 32; int num279 = 0; int num280 = num263; while (num280 < num263 + 100) { if (Main.tile[num262, num280].type == 2) { num275 = Main.GetTreeStyle(num262); break; } if (Main.tile[num262, num280].type == 23) { num275 = 1; break; } if (Main.tile[num262, num280].type == 70) { num275 = 14; break; } if (Main.tile[num262, num280].type == 60) { num275 = 2; if (WorldGen.jungleBG == 1) { num275 = 11; } if ((double)num280 > Main.worldSurface) { num275 = 13; } num276 = 114; num277 = 96; num278 = 48; break; } if (Main.tile[num262, num280].type == 147) { num275 = 4; if (WorldGen.snowBG == 0) { num275 = 12; break; } break; } else { if (Main.tile[num262, num280].type == 199) { num275 = 5; break; } if (Main.tile[num262, num280].type == 109) { num275 = 3; num277 = 140; if (num262 % 3 == 1) { num274 += 3; break; } if (num262 % 3 == 2) { num274 += 6; break; } break; } else { num280++; } } } if (num275 == 14) { float num281 = (float)Main.rand.Next(28, 42) * 0.005f; num281 += (float)(270 - (int)Main.mouseTextColor) / 1000f; Lighting.addLight(num262, num263, 0.1f, 0.2f + num281 / 2f, 0.7f + num281); } if (tile7.color() > 0) { Main.checkTreeAlt[num275, (int)tile7.color()] = true; } if (tile7.color() > 0 && Main.treeAltTextureDrawn[num275, (int)tile7.color()]) { Main.spriteBatch.Draw(Main.treeTopAltTexture[num275, (int)tile7.color()], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X - num278), (float)(num263 * 16 - (int)Main.screenPosition.Y - num277 + 16 + num279)) + zero, new Rectangle?(new Rectangle(num274 * (num276 + 2), 0, num276, num277)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } else { Main.spriteBatch.Draw(Main.treeTopTexture[num275], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X - num278), (float)(num263 * 16 - (int)Main.screenPosition.Y - num277 + 16 + num279)) + zero, new Rectangle?(new Rectangle(num274 * (num276 + 2), 0, num276, num277)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } } else { if (tile7.frameX == 44) { if (tile7.frameY == 220) { num274 = 1; } else { if (tile7.frameY == 242) { num274 = 2; } } int num282 = 0; int num283 = num263; while (num283 < num263 + 100) { if (Main.tile[num262 + 1, num283].type == 2) { num282 = Main.GetTreeStyle(num262 + 1); break; } if (Main.tile[num262 + 1, num283].type == 23) { num282 = 1; break; } if (Main.tile[num262 + 1, num283].type == 70) { num282 = 14; break; } if (Main.tile[num262 + 1, num283].type == 60) { num282 = 2; if ((double)num283 > Main.worldSurface) { num282 = 13; break; } break; } else { if (Main.tile[num262 + 1, num283].type == 147) { num282 = 4; if (WorldGen.snowBG == 0) { num282 = 12; break; } break; } else { if (Main.tile[num262 + 1, num283].type == 199) { num282 = 5; break; } if (Main.tile[num262 + 1, num283].type == 109) { num282 = 3; if (num262 % 3 == 1) { num274 += 3; break; } if (num262 % 3 == 2) { num274 += 6; break; } break; } else { num283++; } } } } if (num282 == 14) { float num284 = (float)Main.rand.Next(28, 42) * 0.005f; num284 += (float)(270 - (int)Main.mouseTextColor) / 1000f; Lighting.addLight(num262, num263, 0.1f, 0.2f + num284 / 2f, 0.7f + num284); } if (tile7.color() > 0) { Main.checkTreeAlt[num282, (int)tile7.color()] = true; } if (tile7.color() > 0 && Main.treeAltTextureDrawn[num282, (int)tile7.color()]) { Main.spriteBatch.Draw(Main.treeBranchAltTexture[num282, (int)tile7.color()], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X - 24), (float)(num263 * 16 - (int)Main.screenPosition.Y - 12)) + zero, new Rectangle?(new Rectangle(0, num274 * 42, 40, 40)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } else { Main.spriteBatch.Draw(Main.treeBranchTexture[num282], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X - 24), (float)(num263 * 16 - (int)Main.screenPosition.Y - 12)) + zero, new Rectangle?(new Rectangle(0, num274 * 42, 40, 40)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } } else { if (tile7.frameX == 66) { if (tile7.frameY == 220) { num274 = 1; } else { if (tile7.frameY == 242) { num274 = 2; } } int num285 = 0; int num286 = num263; while (num286 < num263 + 100) { if (Main.tile[num262 - 1, num286].type == 2) { num285 = Main.GetTreeStyle(num262 - 1); break; } if (Main.tile[num262 - 1, num286].type == 23) { num285 = 1; break; } if (Main.tile[num262 - 1, num286].type == 70) { num285 = 14; break; } if (Main.tile[num262 - 1, num286].type == 60) { num285 = 2; if ((double)num286 > Main.worldSurface) { num285 = 13; break; } break; } else { if (Main.tile[num262 - 1, num286].type == 147) { num285 = 4; if (WorldGen.snowBG == 0) { num285 = 12; break; } break; } else { if (Main.tile[num262 - 1, num286].type == 199) { num285 = 5; break; } if (Main.tile[num262 - 1, num286].type == 109) { num285 = 3; if (num262 % 3 == 1) { num274 += 3; break; } if (num262 % 3 == 2) { num274 += 6; break; } break; } else { num286++; } } } } if (num285 == 14) { float num287 = (float)Main.rand.Next(28, 42) * 0.005f; num287 += (float)(270 - (int)Main.mouseTextColor) / 1000f; Lighting.addLight(num262, num263, 0.1f, 0.2f + num287 / 2f, 0.7f + num287); } if (tile7.color() > 0) { Main.checkTreeAlt[num285, (int)tile7.color()] = true; } if (tile7.color() > 0 && Main.treeAltTextureDrawn[num285, (int)tile7.color()]) { Main.spriteBatch.Draw(Main.treeBranchAltTexture[num285, (int)tile7.color()], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X), (float)(num263 * 16 - (int)Main.screenPosition.Y - 12)) + zero, new Rectangle?(new Rectangle(42, num274 * 42, 40, 40)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } else { Main.spriteBatch.Draw(Main.treeBranchTexture[num285], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X), (float)(num263 * 16 - (int)Main.screenPosition.Y - 12)) + zero, new Rectangle?(new Rectangle(42, num274 * 42, 40, 40)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } } } } } if (type3 == 323 && tile7.frameX >= 88 && tile7.frameX <= 132) { int num288 = 0; if (tile7.frameX == 110) { num288 = 1; } else { if (tile7.frameX == 132) { num288 = 2; } } int num289 = 15; int num290 = 0; int num291 = 80; int num292 = 80; int num293 = 32; int num294 = 0; for (int num295 = num263; num295 < num263 + 100; num295++) { if (Main.tile[num262, num295].type == 53) { num290 = 0; break; } if (Main.tile[num262, num295].type == 234) { num290 = 1; break; } if (Main.tile[num262, num295].type == 116) { num290 = 2; break; } if (Main.tile[num262, num295].type == 112) { num290 = 3; break; } } int frameY2 = (int)Main.tile[num262, num263].frameY; int y3 = num290 * 82; if (tile7.color() > 0) { Main.checkTreeAlt[num289, (int)tile7.color()] = true; } if (tile7.color() > 0 && Main.treeAltTextureDrawn[num289, (int)tile7.color()]) { Main.spriteBatch.Draw(Main.treeTopAltTexture[num289, (int)tile7.color()], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X - num293 + frameY2), (float)(num263 * 16 - (int)Main.screenPosition.Y - num292 + 16 + num294)) + zero, new Rectangle?(new Rectangle(num288 * (num291 + 2), y3, num291, num292)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } else { Main.spriteBatch.Draw(Main.treeTopTexture[num289], new Vector2((float)(num262 * 16 - (int)Main.screenPosition.X - num293 + frameY2), (float)(num263 * 16 - (int)Main.screenPosition.Y - num292 + 16 + num294)) + zero, new Rectangle?(new Rectangle(num288 * (num291 + 2), y3, num291, num292)), Lighting.GetColor(num262, num263), 0f, default(Vector2), 1f, SpriteEffects.None, 0f); } } } catch { } } if (solidOnly) { TimeLogger.DrawTime(0, stopwatch.Elapsed.TotalMilliseconds); return; } TimeLogger.DrawTime(1, stopwatch.Elapsed.TotalMilliseconds); }
private static bool HandlePlayerSlot(GetDataHandlerArgs args) { int plr = args.Data.ReadInt8(); int slot = args.Data.ReadInt8(); int stack = args.Data.ReadInt8(); short prefix = (short) args.Data.ReadInt8(); int type = (int) args.Data.ReadInt16(); if (plr != args.Player.Index) { return true; } if (slot < 0 || slot > NetItem.maxNetInventory) { return true; } var item = new Item(); item.netDefaults(type); item.Prefix(prefix); if (stack > item.maxStack && type != 0) { args.Player.IgnoreActionsForCheating = true; } if (args.Player.IsLoggedIn) { args.Player.PlayerData.StoreSlot(slot, type, prefix, stack); } return false; }
public static bool HackedInventory(TSPlayer player) { bool check = false; Item[] inventory = player.TPlayer.inventory; Item[] armor = player.TPlayer.armor; for (int i = 0; i < NetItem.maxNetInventory; i++) { if (i < 49) { Item item = new Item(); if (inventory[i] != null && inventory[i].netID != 0) { item.netDefaults(inventory[i].netID); item.Prefix(inventory[i].prefix); item.AffixName(); if (inventory[i].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove item {0} ({1}) and then rejoin", item.name, inventory[i].stack), Color.Cyan); } } } else { Item item = new Item(); if (armor[i - 48] != null && armor[i - 48].netID != 0) { item.netDefaults(armor[i - 48].netID); item.Prefix(armor[i - 48].prefix); item.AffixName(); if (armor[i - 48].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove armor {0} ({1}) and then rejoin", item.name, armor[i - 48].stack), Color.Cyan); } } } } return check; }
void Craft(CommandArgs args) { if (!args.Player.IsLoggedIn) { args.Player.SendErrorMessage("You must be logged in to use this command!"); return; } Item item; var player = RPlayers[args.Player.Index]; int page = 1; if (args.Parameters.Count == 0) { if (player.activeRecipe != null) { Utils.PrintCurrentRecipe(args.Player); return; } else { args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /craft <recipe/-quit/-list/-allcats/-cat/-confirm>"); return; } } switch (args.Parameters[0].ToLowerInvariant()) { #region -list case "-list": if (!PaginationTools.TryParsePageNumber(args.Parameters, 1, args.Player, out page)) return; List<string> allRec = CommandRecipes.config.Recipes.Where(r => !r.invisible).Select(r => r.name).ToList(); PaginationTools.SendPage(args.Player, page, PaginationTools.BuildLinesFromTerms(allRec), new PaginationTools.Settings { HeaderFormat = "All Recipes ({0}/{1}):", FooterFormat = "Type /craft -list {0} for more.", NothingToDisplayString = "There are currently no recipes defined!" }); return; #endregion #region -allcats case "-allcats": if (!PaginationTools.TryParsePageNumber(args.Parameters, 1, args.Player, out page)) return; List<string> cats = config.Recipes.SelectMany(x => x.categories).Distinct().ToList(); PaginationTools.SendPage(args.Player, page, PaginationTools.BuildLinesFromTerms(cats), new PaginationTools.Settings { HeaderFormat = "Recipe Categories ({0}/{1}):", FooterFormat = "Type /craft -allcats {0} for more.", NothingToDisplayString = "There are currently no categories defined!" }); return; #endregion #region -cat case "-cat": if (!PaginationTools.TryParsePageNumber(args.Parameters, 2, args.Player, out page)) return; if (args.Parameters.Count < 2) { args.Player.SendErrorMessage("Invalid category!"); return; } args.Parameters.RemoveAt(0); string cat = string.Join(" ", args.Parameters); List<string> catrec = config.Recipes .Where(r => !r.invisible && r.categories.Contains(cat, StringComparer.InvariantCultureIgnoreCase)) .Select(x => x.name).ToList(); PaginationTools.SendPage(args.Player, page, PaginationTools.BuildLinesFromTerms(catrec), new PaginationTools.Settings { HeaderFormat = "Recipes in this category ({0}/{1}):", FooterFormat = string.Format("Type /craft -cat {0} {{{0}}} for more.", cat), NothingToDisplayString = "There are currently no recipes in this category defined!" }); return; #endregion #region -quit case "-quit": //args.Player.SendInfoMessage("Returning dropped items..."); //foreach (RecItem itm in player.droppedItems) { // item = new Item(); // item.SetDefaults(itm.name); // args.Player.GiveItem(item.type, itm.name, item.width, item.height, itm.stack, itm.prefix); // player.TSPlayer.SendInfoMessage("Returned {0}.", Utils.FormatItem((Item)itm)); //} player.activeRecipe = null; player.TSPlayer.SendInfoMessage("Successfully quit crafting."); return; #endregion #region -confirm case "-confirm": int ingcount = 0; Dictionary<int, bool> finishedGroup = new Dictionary<int, bool>(); Dictionary<int, int> slots = new Dictionary<int, int>(); int ingredientCount = player.activeRecipe.ingredients.Count; foreach (Ingredient ing in player.activeRecipe.ingredients) { if (!finishedGroup.ContainsKey(ing.group)) { finishedGroup.Add(ing.group, false); } else if (ing.group != 0) ingredientCount--; } foreach (Ingredient ing in player.activeRecipe.ingredients) { if (ing.group == 0 || !finishedGroup[ing.group]) { Dictionary<int, RecItem> ingSlots = new Dictionary<int, RecItem>(); for (int i = 58; i >= 0; i--) { item = args.TPlayer.inventory[i]; if (ing.name == item.name && (ing.prefix == -1 || ing.prefix == item.prefix)) { ingSlots.Add(i, new RecItem(item.name, item.stack, item.prefix)); } } if (ingSlots.Count == 0) continue; int totalStack = 0; foreach (var key in ingSlots.Keys) totalStack += ingSlots[key].stack; if (totalStack >= ing.stack) { foreach (var key in ingSlots.Keys) slots.Add(key, (ingSlots[key].stack < ing.stack) ? args.TPlayer.inventory[key].stack : ing.stack); if (ing.group != 0) finishedGroup[ing.group] = true; ingcount++; } } } if (ingcount < ingredientCount) { args.Player.SendErrorMessage("Insufficient ingredients!"); return; } if (!args.Player.InventorySlotAvailable) { args.Player.SendErrorMessage("Insufficient inventory space!"); return; } if (player.activeRecipe.SEconomyCost != 0 && SEconomyPlugin.Instance != null) { IBankAccount bankAccount = SEconomyPlugin.Instance.GetPlayerBankAccount(args.Player.Name); SEconomy seconomy = SEconomyPlugin.Instance; if (bankAccount.Balance < player.activeRecipe.SEconomyCost) { args.Player.SendErrorMessage("You don't have the necessary amount of {0} {1} to craft this recipe.", player.activeRecipe.SEconomyCost, seconomy.Configuration.MoneyConfiguration.MoneyNamePlural); return; } bankAccount.TransferTo(seconomy.WorldAccount, player.activeRecipe.SEconomyCost, BankAccountTransferOptions.AnnounceToSender, "Crafted " + player.activeRecipe.name, "/craft " + player.activeRecipe.name); } foreach (var slot in slots) { item = args.TPlayer.inventory[slot.Key]; var ing = player.activeRecipe.ingredients.GetIngredient(item.name, item.prefix); if (ing.stack > 0) { int stack; if (ing.stack < slot.Value) stack = ing.stack; else stack = slot.Value; item.stack -= stack; ing.stack -= stack; if (!player.droppedItems.ContainsItem(item.name, item.prefix)) player.droppedItems.Add(new RecItem(item.name, stack, item.prefix)); else player.droppedItems.GetItem(item.name, item.prefix).stack += slot.Value; NetMessage.SendData((int)PacketTypes.PlayerSlot, -1, -1, "", args.Player.Index, slot.Key); } } List<Product> lDetPros = Utils.DetermineProducts(player.activeRecipe.products); foreach (Product pro in lDetPros) { Item product = new Item(); product.SetDefaults(pro.name); product.Prefix(pro.prefix); pro.prefix = product.prefix; player.TSPlayer.GiveItem(product.type, product.name, product.width, product.height, pro.stack, product.prefix); player.TSPlayer.SendSuccessMessage("Received {0}.", Utils.FormatItem((Item)pro)); } List<RecItem> prods = new List<RecItem>(); lDetPros.ForEach(i => prods.Add(new RecItem(i.name, i.stack, i.prefix))); Log.Recipe(player.activeRecipe.name, player.droppedItems, prods, player.name); player.activeRecipe = null; player.droppedItems.Clear(); player.TSPlayer.SendInfoMessage("Finished crafting."); return; #endregion #region default default: if (player.activeRecipe != null) { args.Player.SendErrorMessage("You must finish crafting or \"/craft -quit\" your current recipe!"); return; } string recipe = string.Join(" ", args.Parameters); Recipe rec = config.Recipes.Where(r => r.name.ToLower() == recipe.ToLower()).FirstOrDefault(); if (rec == null) { args.Player.SendErrorMessage("Invalid recipe!"); return; } if (!rec.permissions.Contains("") && !args.Player.Group.CheckPermissions(rec.permissions)) { args.Player.SendErrorMessage("You do not have the required permission to craft the recipe: {0}!", rec.name); return; } if (!Utils.CheckIfInRegion(args.Player, rec.regions)) { args.Player.SendErrorMessage("You are not in a valid region to craft the recipe: {0}!", rec.name); return; } player.activeRecipe = rec.Clone(); if (player.activeRecipe == null) return; Utils.PrintCurrentRecipe(args.Player); return; #endregion } }
private static bool HandlePlayerSlot(GetDataHandlerArgs args) { byte plr = args.Data.ReadInt8(); byte slot = args.Data.ReadInt8(); byte stack = args.Data.ReadInt8(); byte prefix = args.Data.ReadInt8(); short type = args.Data.ReadInt16(); if (OnPlayerSlot(plr, slot, stack, prefix, type)) return true; if (plr != args.Player.Index) { return true; } if (slot < 0 || slot > NetItem.maxNetInventory) { return true; } var item = new Item(); item.netDefaults(type); item.Prefix(prefix); if (args.Player.IsLoggedIn) { args.Player.PlayerData.StoreSlot(slot, type, prefix, stack); } return false; }
public static void KillTile(int i, int j, bool fail = false, bool effectOnly = false, bool noItem = false) { if (i >= 0 && j >= 0 && i < Main.maxTilesX && j < Main.maxTilesY) { Tile tile = Main.tile[i, j]; if (tile == null) { tile = new Tile(); Main.tile[i, j] = tile; } if (tile.active()) { if (j >= 1 && Main.tile[i, j - 1] == null) { Main.tile[i, j - 1] = new Tile(); } if (j >= 1 && Main.tile[i, j - 1].active() && ((Main.tile[i, j - 1].type == 5 && tile.type != TileID.Trees) || (Main.tile[i, j - 1].type == 323 && tile.type != TileID.PalmTree) || (Main.tile[i, j - 1].type == 21 && tile.type != TileID.Containers) || (Main.tile[i, j - 1].type == 323 && tile.type != TileID.PalmTree) || (Main.tile[i, j - 1].type == 88 && tile.type != TileID.Dressers) || (Main.tile[i, j - 1].type == 26 && tile.type != TileID.DemonAltar) || (Main.tile[i, j - 1].type == 72 && tile.type != TileID.MushroomTrees))) { if (Main.tile[i, j - 1].type == 5) { if ((Main.tile[i, j - 1].frameX != 66 || Main.tile[i, j - 1].frameY < 0 || Main.tile[i, j - 1].frameY > 44) && (Main.tile[i, j - 1].frameX != 88 || Main.tile[i, j - 1].frameY < 66 || Main.tile[i, j - 1].frameY > 110) && Main.tile[i, j - 1].frameY < 198) { return; } } else if (Main.tile[i, j - 1].type != 323 || Main.tile[i, j - 1].frameX == 66 || Main.tile[i, j - 1].frameX == 220) { return; } } if (tile.type == TileID.ClosedDoor && tile.frameY >= 594 && tile.frameY <= 646) { fail = true; } if (tile.type == TileID.Boulder) { fail = WorldGen.CheckBoulderChest(i, j); } if (tile.type == TileID.Teleporter) { int frameX = (int)tile.frameX; int num = i - frameX % 54 / 18; for (int k = 0; k < 3; k++) { if (Main.tile[num + k, j - 1].active() && Main.tile[num + k, j - 1].type == 21) { fail = true; break; } } } if (!effectOnly && !WorldGen.stopDrops) { if (tile.type == TileID.Plants || tile.type == TileID.HallowedPlants) { if (tile.frameX == 144) { Item.NewItem(i * 16, j * 16, 16, 16, 5, 1, false, 0, false, false); } } else if (tile.type == TileID.CorruptPlants) { if (tile.frameX == 144) { Item.NewItem(i * 16, j * 16, 16, 16, 60, 1, false, 0, false, false); } } else if (tile.type == TileID.FleshWeeds) { if (tile.frameX == 270) { Item.NewItem(i * 16, j * 16, 16, 16, 2887, 1, false, 0, false, false); } } } if (tile.type == TileID.Mannequin || tile.type == TileID.Womannequin) { int num2 = i; int l = (int)tile.frameX; int m; for (m = (int)tile.frameX; m >= 100; m -= 100) { } while (m >= 36) { m -= 36; } if (m == 18) { l = (int)Main.tile[i - 1, j].frameX; num2--; } if (l >= 100) { int num3 = 0; while (l >= 100) { l -= 100; num3++; } int num4 = (int)(Main.tile[num2, j].frameY / 18); if (num4 == 0) { Item.NewItem(i * 16, j * 16, 16, 16, Item.headType[num3], 1, false, 0, false, false); } if (num4 == 1) { Item.NewItem(i * 16, j * 16, 16, 16, Item.bodyType[num3], 1, false, 0, false, false); } if (num4 == 2) { Item.NewItem(i * 16, j * 16, 16, 16, Item.legType[num3], 1, false, 0, false, false); } for (l = (int)Main.tile[num2, j].frameX; l >= 100; l -= 100) { } Main.tile[num2, j].frameX = (short)l; } } if (tile.type == TileID.WeaponsRack) { int num5 = i; int n = (int)tile.frameX; int num6 = (int)tile.frameX; int num7 = 0; while (num6 >= 5000) { num6 -= 5000; num7++; } if (num7 != 0) { num6 = (num7 - 1) * 18; } num6 %= 54; if (num6 == 18) { n = (int)Main.tile[i - 1, j].frameX; num5--; } if (num6 == 36) { n = (int)Main.tile[i - 2, j].frameX; num5 -= 2; } if (n >= 5000) { int num8 = n % 5000; num8 -= 100; int num9 = (int)Main.tile[num5 + 1, j].frameX; if (num9 >= 25000) { num9 -= 25000; } else { num9 -= 10000; } if (Main.netMode != 1) { Item item = new Item(); item.netDefaults(num8); item.Prefix(num9); int num10 = Item.NewItem(i * 16, j * 16, 16, 16, num8, 1, true, 0, false, false); item.position = Main.item[num10].position; Main.item[num10] = item; NetMessage.SendData((int)PacketTypes.ItemDrop, -1, -1, "", num10, 0f, 0f, 0f, 0, 0, 0); } n = (int)Main.tile[num5, j].frameX; int num11 = 0; while (n >= 5000) { n -= 5000; num11++; } if (num11 != 0) { n = (num11 - 1) * 18; } Main.tile[num5, j].frameX = (short)n; Main.tile[num5 + 1, j].frameX = (short)(n + 18); } } if (tile.type == TileID.ItemFrame) { int num12 = TEItemFrame.Find(i - (int)(tile.frameX % 36 / 18), j - (int)(tile.frameY % 36 / 18)); if (num12 != -1 && ((TEItemFrame)TileEntity.ByID[num12]).item.stack > 0) { ((TEItemFrame)TileEntity.ByID[num12]).DropItem(); if (Main.netMode != 2) { Main.blockMouse = true; } return; } } int num13 = 10; if (tile.type == TileID.Larva) { num13 = 6; } if (fail) { num13 = 3; } if (tile.type == TileID.Boulder) { num13 = 0; } if (tile.type == TileID.WaterDrip) { num13 = 0; } if (tile.type == TileID.LavaDrip) { num13 = 0; } if (tile.type == TileID.HoneyDrip) { num13 = 0; } if (tile.type >= TileID.BoneWelder && tile.type <= TileID.HoneyDispenser) { num13 = 0; } if (tile.type == TileID.CrystalBall) { num13 = 0; } if (tile.type == TileID.AmmoBox) { num13 = 0; } if (tile.type == TileID.BewitchingTable) { num13 = 0; } if (tile.type == TileID.AlchemyTable) { num13 = 0; } if (tile.type == TileID.FishingCrate) { num13 = 0; } int num14 = 0; while (num14 < num13) { int num15 = 0; if (tile.type == TileID.Firework) { num15 = -1; } if (tile.type == TileID.FireworksBox) { num15 = -1; } if (tile.type == TileID.FireworkFountain) { num15 = -1; } if (tile.type == TileID.Dirt) { num15 = 0; } if (tile.type == TileID.LeafBlock) { num15 = 3; } if (tile.type == TileID.Shadewood) { num15 = 126; } else if (tile.type == TileID.LunarOre || tile.type == TileID.LunarBrick) { num15 = 265; } if (tile.type == TileID.Anvils) { num15 = 1; if (tile.frameX >= 36) { num15 = 82; } } else if (tile.type == TileID.LunarBlockSolar) { num15 = 6; } else if (tile.type == TileID.LunarBlockVortex) { num15 = 61; } else if (tile.type == TileID.LunarBlockNebula) { num15 = 242; } else if (tile.type == TileID.LunarBlockStardust) { num15 = 135; } if (tile.type == TileID.Stone || tile.type == TileID.Furnaces || tile.type == TileID.GrayBrick || tile.type == TileID.RedBrick || tile.type == TileID.BlueDungeonBrick || tile.type == TileID.GreenDungeonBrick || tile.type == TileID.PinkDungeonBrick || tile.type == TileID.Spikes || Main.tileStone[(int)tile.type] || tile.type == TileID.Tombstones || tile.type == TileID.Bathtubs || tile.type == TileID.Lampposts || tile.type == TileID.CookingPots || tile.type == TileID.Safes || tile.type == TileID.TrashCan || tile.type == TileID.Pearlstone || tile.type == TileID.ActiveStoneBlock || tile.type == TileID.InactiveStoneBlock || tile.type == TileID.Lever || tile.type == TileID.PressurePlates || tile.type == TileID.PressurePlates || tile.type == TileID.InletPump || tile.type == TileID.OutletPump || tile.type == TileID.Timers || tile.type == TileID.LandMine || tile.type == TileID.WaterFountain || tile.type == TileID.Teleporter || tile.type == TileID.Autohammer || tile.type == TileID.Cog || tile.type == TileID.StoneSlab || tile.type == TileID.HeavyWorkBench || tile.type == TileID.LunarMonolith) { num15 = 1; } if (tile.type == TileID.Bubble) { num15 = 257; } if (tile.type == TileID.DynastyWood) { num15 = 207; } if (tile.type == TileID.RedDynastyShingles) { num15 = 208; } if (tile.type == TileID.BlueDynastyShingles) { num15 = 209; } if (tile.type == TileID.GrandfatherClocks) { num15 = -1; } if (tile.type == TileID.ChineseLanterns || tile.type == TileID.SkullLanterns || tile.type == TileID.Candelabras || tile.type == TileID.PlatinumCandle || tile.type == TileID.PlatinumCandelabra) { num15 = 6; } if (tile.type == TileID.WoodBlock || tile.type == TileID.Loom || tile.type == TileID.Kegs || tile.type == TileID.Sawmill || tile.type == TileID.TinkerersWorkbench || tile.type == TileID.WoodenBeam || tile.type == TileID.Mannequin || tile.type == TileID.Womannequin) { num15 = 7; } if (tile.type == TileID.PeaceCandle) { num15 = 242; } if (tile.type == TileID.PinkSlimeBlock) { num15 = 243; } if (tile.type == TileID.WeaponsRack) { num15 = 7; } ushort type = tile.type; if (type <= 139) { if (type <= 89) { switch (type) { case 10: case 11: goto IL_14A0; default: switch (type) { case 87: case 89: goto IL_14A0; } break; } } else if (type == 93 || type == 139) { goto IL_14A0; } } else if (type <= 320) { if (type == 209) { goto IL_14A0; } switch (type) { case 319: case 320: goto IL_14A0; } } else { switch (type) { case 386: case 387: case 390: goto IL_14A0; case 388: case 389: break; default: switch (type) { case 405: case 406: case 411: case 412: goto IL_14A0; case 407: num15 = 10; break; } break; } } IL_14A9: if (tile.type == TileID.Painting3X3) { int num16 = (int)(tile.frameX / 54); if (tile.frameY >= 54) { num16 += 36; } num15 = 7; if (num16 == 16 || num16 == 17) { num15 = 26; } if (num16 >= 46 && num16 <= 49) { num15 = -1; } } if (tile.type == TileID.Painting4X3) { num15 = 1; } if (tile.type == TileID.Painting6X4) { num15 = -1; } if (tile.type == TileID.Sundial) { num15 = -1; } if (tile.type == TileID.ChimneySmoke) { num15 = -1; } if (tile.type == TileID.Painting3X2) { num15 = -1; } if (tile.type == TileID.Presents) { num15 = -1; } if (tile.type == TileID.SilkRope) { num15 = 239; } if (tile.type == TileID.WebRope) { num15 = 30; } if (tile.type == TileID.MarbleBlock || tile.type == TileID.Marble) { num15 = 236; } if (tile.type == TileID.Granite || tile.type == TileID.GraniteBlock) { num15 = 240; } if (tile.type == TileID.PineTree) { num15 = 196; } if (tile.type == TileID.Coralstone) { num15 = 225; } if (tile.type == TileID.ChlorophyteBrick) { num15 = 128; } if (tile.type == TileID.CrimtaneBrick) { num15 = 117; } if (tile.type == TileID.ShroomitePlating) { num15 = 42; } if (tile.type == TileID.MartianConduitPlating) { num15 = 226; } if (tile.type == TileID.MeteoriteBrick) { if (WorldGen.genRand.Next(2) == 0) { num15 = 6; } else { num15 = 23; } } if (tile.type == TileID.ChristmasTree) { if (WorldGen.genRand.Next(2) == 0) { num15 = 196; } else { num15 = -1; } } if (tile.type == TileID.Waterfall) { num15 = 13; } if (tile.type == TileID.Lavafall) { num15 = 13; } if (tile.type == TileID.Honeyfall) { num15 = 13; } if (tile.type == TileID.LivingFire) { num15 = 6; } if (tile.type == TileID.LivingCursedFire) { num15 = 75; } if (tile.type == TileID.LivingDemonFire) { num15 = 65; } if (tile.type == TileID.LivingFrostFire) { num15 = 135; } if (tile.type == TileID.LivingIchor) { num15 = 169; } if (tile.type == TileID.LivingUltrabrightFire) { num15 = 156; } if (tile.type == TileID.Confetti) { num15 = 13; } if (tile.type == TileID.ConfettiBlack) { num15 = 13; } if (tile.type == TileID.CopperCoinPile) { num15 = 9; } if (tile.type == TileID.SilverCoinPile) { num15 = 11; } if (tile.type == TileID.GoldCoinPile) { num15 = 19; } if (tile.type == TileID.PlatinumCoinPile) { num15 = 11; } if (tile.type == TileID.Bookcases) { num15 = -1; } if (tile.type == TileID.Platforms) { int num17 = (int)(tile.frameY / 18); if (num17 == 0 || num17 == 9 || num17 == 10 || num17 == 11 || num17 == 12) { num15 = 7; } else if (num17 == 1) { num15 = 77; } else if (num17 == 2) { num15 = 78; } else if (num17 == 3) { num15 = 79; } else if (num17 == 4) { num15 = 26; } else if (num17 == 5) { num15 = 126; } else if (num17 == 13) { num15 = 109; } else if (num17 == 14) { num15 = 13; } else if (num17 >= 15 || num17 <= 16) { num15 = -1; } else if (num17 == 17) { num15 = 215; } else if (num17 == 18) { num15 = 214; } else { num15 = 1; } } if (tile.type == TileID.Beds) { int num18 = (int)(tile.frameY / 36); if (num18 == 0) { num15 = 7; } else if (num18 == 1) { num15 = 77; } else if (num18 == 2) { num15 = 78; } else if (num18 == 3) { num15 = 79; } else if (num18 == 4) { num15 = 126; } else if (num18 == 8) { num15 = 109; } else if (num18 >= 9) { num15 = -1; } else { num15 = 1; } } if (tile.type == TileID.WorkBenches) { int num19 = (int)(tile.frameX / 36); if (num19 == 0) { num15 = 7; } else if (num19 == 1) { num15 = 77; } else if (num19 == 2) { num15 = 78; } else if (num19 == 3) { num15 = 79; } else if (num19 == 4) { num15 = 26; } else if (num19 == 5) { num15 = 40; } else if (num19 == 6) { num15 = 5; } else if (num19 == 7) { num15 = 26; } else if (num19 == 8) { num15 = 4; } else if (num19 == 9) { num15 = 126; } else if (num19 == 10) { num15 = 148; } else if (num19 == 11 || num19 == 12 || num19 == 13) { num15 = 1; } else if (num19 == 14) { num15 = 109; } else if (num19 == 15) { num15 = 126; } else { num15 = -1; } } if (tile.type == TileID.Tables || tile.type == TileID.Pianos || tile.type == TileID.Dressers) { num15 = -1; } if (tile.type >= TileID.AmethystGemsparkOff && tile.type <= TileID.AmberGemsparkOff) { int num20 = (int)(tile.type - 255); num15 = 86 + num20; if (num20 == 6) { num15 = 138; } } if (tile.type >= TileID.AmethystGemspark && tile.type <= TileID.AmberGemspark) { int num21 = (int)(tile.type - 262); num15 = 86 + num21; if (num21 == 6) { num15 = 138; } } if (tile.type == TileID.ExposedGems) { int num22 = (int)(tile.frameX / 18); num15 = 86 + num22; if (num22 == 6) { num15 = 138; } } if (tile.type == TileID.LargePiles) { if (tile.frameX <= 360) { num15 = 26; } else if (tile.frameX <= 846) { num15 = 1; } else if (tile.frameX <= 954) { num15 = 9; } else if (tile.frameX <= 1062) { num15 = 11; } else if (tile.frameX <= 1170) { num15 = 10; } else if (tile.frameX <= 1332) { num15 = 0; } else if (tile.frameX <= 1386) { num15 = 10; } else { num15 = 80; } } if (tile.type == TileID.LargePiles2) { if (tile.frameX <= 144) { num15 = 1; } else if (tile.frameX <= 306) { num15 = 38; } else if (tile.frameX <= 468) { num15 = 36; } else if (tile.frameX <= 738) { num15 = 30; } else if (tile.frameX <= 970) { num15 = 1; } else if (tile.frameX <= 1132) { num15 = 148; } else if (tile.frameX <= 1132) { num15 = 155; } else if (tile.frameX <= 1348) { num15 = 1; } else if (tile.frameX <= 1564) { num15 = 0; } } if (tile.type == TileID.Statues) { num15 = 1; if (tile.frameX >= 1548 && tile.frameX <= 1654) { num15 = 148; } } if (tile.type == TileID.MushroomStatue) { num15 = 1; } if (tile.type == TileID.AlphabetStatues) { num15 = 1; } if (tile.type == TileID.MetalBars) { int num23 = (int)(tile.frameX / 18); if (num23 == 0) { num15 = 9; } if (num23 == 1) { num15 = 81; } if (num23 == 2) { num15 = 8; } if (num23 == 3) { num15 = 82; } if (num23 == 4) { num15 = 11; } if (num23 == 5) { num15 = 83; } if (num23 == 6) { num15 = 10; } if (num23 == 7) { num15 = 84; } if (num23 == 8) { num15 = 14; } if (num23 == 9) { num15 = 23; } if (num23 == 10) { num15 = 25; } if (num23 == 11) { num15 = 48; } if (num23 == 12) { num15 = 144; } if (num23 == 13) { num15 = 49; } if (num23 == 14) { num15 = 145; } if (num23 == 15) { num15 = 50; } if (num23 == 16) { num15 = 146; } if (num23 == 17) { num15 = 128; } if (num23 == 18) { num15 = 84; } if (num23 == 19) { num15 = 117; } if (num23 == 20) { num15 = 42; } if (num23 == 21) { num15 = -1; } if (num23 == 22) { num15 = 265; } } if (tile.type == TileID.SmallPiles) { if (tile.frameY == 18) { int num24 = (int)(tile.frameX / 36); if (num24 < 6) { num15 = 1; } else if (num24 < 16) { num15 = 26; } else if (num24 == 16) { num15 = 9; } else if (num24 == 17) { num15 = 11; } else if (num24 == 18) { num15 = 10; } else if (num24 == 19) { num15 = 86; } else if (num24 == 20) { num15 = 87; } else if (num24 == 21) { num15 = 88; } else if (num24 == 22) { num15 = 89; } else if (num24 == 23) { num15 = 90; } else if (num24 == 24) { num15 = 91; } else if (num24 < 31) { num15 = 80; } else if (num24 < 33) { num15 = 7; } else if (num24 < 34) { num15 = 8; } else if (num24 < 39) { num15 = 30; } else if (num24 < 42) { num15 = 1; } } else { int num25 = (int)(tile.frameX / 18); if (num25 < 6) { num15 = 1; } else if (num25 < 12) { num15 = 0; } else if (num25 < 27) { num15 = 26; } else if (num25 < 32) { num15 = 1; } else if (num25 < 35) { num15 = 0; } else if (num25 < 46) { num15 = 80; } else if (num25 < 52) { num15 = 30; } } } if (tile.type == TileID.LongMoss) { int num26 = (int)(tile.frameX / 22); if (num26 == 5) { num15 = 258; } else { num15 = 93 + num26; } } if (tile.type == TileID.LihzahrdAltar) { num15 = 148; } if (tile.type == TileID.Ebonwood) { num15 = 77; } if (tile.type == TileID.RichMahogany || tile.type == TileID.WoodenSpikes || tile.type == TileID.LivingMahogany) { num15 = 78; } if (tile.type == TileID.Pearlwood) { num15 = 78; } if (tile.type == TileID.Chairs) { num15 = -1; } if (tile.type == TileID.LivingWood) { num15 = 7; } if (tile.type == TileID.Trees) { num15 = 7; if (i > 5 && i < Main.maxTilesX - 5) { int num27 = i; int num28 = j; if (tile.frameX == 66 && tile.frameY <= 45) { num27++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num27--; } if (tile.frameX == 22 && tile.frameY >= 132 && tile.frameY <= 176) { num27--; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num27++; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num27++; } if (tile.frameX == 44 && tile.frameY >= 198) { num27++; } if (tile.frameX == 66 && tile.frameY >= 198) { num27--; } while (Main.tile[num27, num28] != null && (!Main.tile[num27, num28].active() || !Main.tileSolid[(int)Main.tile[num27, num28].type])) { num28++; } if (Main.tile[num27, num28] != null) { if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == TileID.CorruptGrass) { num15 = 77; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == TileID.JungleGrass) { num15 = 78; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == TileID.MushroomGrass) { num15 = 26; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == TileID.HallowedGrass) { num15 = 79; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == TileID.FleshGrass) { num15 = 121; } if (Main.tile[num27, num28].active() && Main.tile[num27, num28].type == TileID.SnowBlock) { num15 = 122; } } } } if (tile.type == TileID.PalmTree) { num15 = 215; if (i > 5 && i < Main.maxTilesX - 5) { int num29 = j; while (Main.tile[i, num29] != null && (!Main.tile[i, num29].active() || !Main.tileSolid[(int)Main.tile[i, num29].type])) { num29++; } if (Main.tile[i, num29] != null) { if (Main.tile[i, num29].active() && Main.tile[i, num29].type == TileID.Crimsand) { num15 = 121; } if (Main.tile[i, num29].active() && Main.tile[i, num29].type == TileID.Pearlsand) { num15 = 79; } if (Main.tile[i, num29].active() && Main.tile[i, num29].type == TileID.Ebonsand) { num15 = 77; } } } } if (tile.type == TileID.Traps) { num15 = 1; int num30 = (int)(tile.frameY / 18); if (num30 > 0) { num15 = 148; } } if (tile.type == TileID.SnowballLauncher) { num15 = -1; } if (tile.type == TileID.Rope) { num15 = 129; } if (tile.type == TileID.Chain) { num15 = 1; } if (tile.type == TileID.Campfire) { num15 = -6; } if (tile.type == TileID.TinPlating) { num15 = 81; } if (tile.type == TileID.PumpkinBlock) { num15 = 189; } if (tile.type == TileID.HayBlock) { num15 = 190; } if (tile.type == TileID.SpookyWood) { num15 = 191; } if (tile.type == TileID.Pumpkins) { if (tile.frameX < 72) { num15 = 3; } else if (tile.frameX < 108) { num15 = 3; if (WorldGen.genRand.Next(3) == 0) { num15 = 189; } } else if (tile.frameX < 144) { num15 = 3; if (WorldGen.genRand.Next(2) == 0) { num15 = 189; } } else { num15 = 3; if (WorldGen.genRand.Next(4) != 0) { num15 = 189; } } } if (tile.type == TileID.Containers) { if (tile.frameX >= 1008) { num15 = -1; } else if (tile.frameX >= 612) { num15 = 11; } else if (tile.frameX >= 576) { num15 = 148; } else if (tile.frameX >= 540) { num15 = 26; } else if (tile.frameX >= 504) { num15 = 126; } else if (tile.frameX >= 468) { num15 = 116; } else if (tile.frameX >= 432) { num15 = 7; } else if (tile.frameX >= 396) { num15 = 11; } else if (tile.frameX >= 360) { num15 = 10; } else if (tile.frameX >= 324) { num15 = 79; } else if (tile.frameX >= 288) { num15 = 78; } else if (tile.frameX >= 252) { num15 = 77; } else if (tile.frameX >= 216) { num15 = 1; } else if (tile.frameX >= 180) { num15 = 7; } else if (tile.frameX >= 108) { num15 = 37; } else if (tile.frameX >= 36) { num15 = 10; } else { num15 = 7; } } if (tile.type == TileID.Grass) { if (WorldGen.genRand.Next(2) == 0) { num15 = 0; } else { num15 = 2; } } if (Main.tileMoss[(int)tile.type]) { if (tile.type == TileID.LavaMoss) { num15 = 258; } else { num15 = (int)(tile.type - 179 + 93); } } if (tile.type == TileID.MagicalIceBlock) { num15 = 67; } if (tile.type == TileID.Banners) { num15 = -1; } if (tile.type == TileID.Asphalt) { num15 = 109; } if (tile.type == TileID.DemonAltar) { if (tile.frameX >= 54) { num15 = 5; } else { num15 = 8; } } if (tile.type == TileID.Chandeliers) { num15 = -1; } if (tile.type == TileID.Iron) { num15 = 8; } if (tile.type == TileID.Copper || tile.type == TileID.CopperBrick || tile.type == TileID.CopperPlating) { num15 = 9; } if (tile.type == TileID.Gold || tile.type == TileID.GoldBrick || tile.type == TileID.Thrones) { num15 = 10; } if (tile.type == TileID.Silver || tile.type == TileID.HangingLanterns || tile.type == TileID.SilverBrick || tile.type == TileID.DiscoBall || tile.type == TileID.Switches) { num15 = 11; } if (tile.type == TileID.Tin || tile.type == TileID.TinBrick) { num15 = 81; } if (tile.type == TileID.Lead) { num15 = 82; } if (tile.type == TileID.Tungsten || tile.type == TileID.TungstenBrick) { num15 = 83; } if (tile.type == TileID.Platinum || tile.type == TileID.PlatinumBrick) { num15 = 84; } if (tile.type == TileID.FleshGrass) { num15 = 117; } if (tile.type == TileID.CrimsonVines) { num15 = 125; } if (tile.type == TileID.FleshWeeds) { num15 = 125; } if (tile.type == TileID.Chlorophyte) { num15 = 128; } if (tile.type == TileID.DyePlants) { int num31 = (int)(tile.frameX / 34); if (num31 == 0 || num31 == 1) { num15 = 26; } else if (num31 == 3) { num15 = 3; } else if (num31 == 2 || num31 == 4 || num31 == 5 || num31 == 6) { num15 = 40; } else if (num31 == 7) { num15 = 117; } else if (num31 == 8) { num15 = 17; } else if (num31 == 9) { num15 = 6; } else if (num31 == 10) { num15 = 3; } else if (num31 == 11) { num15 = 26; } } if (tile.type == TileID.Crimtane) { num15 = 117; if (WorldGen.genRand.Next(2) == 0) { num15 = 1; } } if (tile.type == TileID.Crimstone) { num15 = 117; } if (tile.type == TileID.ImbuingStation) { if (WorldGen.genRand.Next(2) == 0) { num15 = 7; } else { num15 = 13; } } if (tile.type == TileID.BubbleMachine) { if (WorldGen.genRand.Next(2) == 0) { num15 = 1; } else { num15 = 13; } } else if ((tile.type >= TileID.GoldBirdCage && tile.type <= TileID.GoldWormCage) || (tile.type >= TileID.BunnyCage && tile.type <= TileID.FishBowl) || (tile.type == TileID.SnailCage || tile.type == TileID.GlowingSnailCage || (tile.type >= TileID.MonarchButterflyJar && tile.type <= TileID.BlackScorpionCage)) || (tile.type >= TileID.BlueJellyfishBowl && tile.type <= TileID.PinkJellyfishBowl) || tile.type == TileID.FrogCage || tile.type == TileID.MouseCage || tile.type == TileID.PenguinCage || tile.type == TileID.WormCage || tile.type == TileID.GrasshopperCage || tile.type == TileID.SquirrelOrangeCage || tile.type == TileID.SquirrelGoldCage) { num15 = 13; if (WorldGen.genRand.Next(3) != 0) { num15 = -1; } } if (tile.type == TileID.Bottles) { if (tile.frameX >= 90) { num15 = -1; } else { num15 = 13; } } if (tile.type == TileID.Cloud) { num15 = 16; } if (tile.type == TileID.Heart) { num15 = 12; } if (tile.type == TileID.Plants || tile.type == TileID.Plants2) { num15 = 3; } if (tile.type == TileID.Glass) { num15 = 13; } if (tile.type == TileID.Demonite || tile.type == TileID.DemoniteBrick) { num15 = 14; } if (tile.type == TileID.ClayPot) { num15 = 22; } if (tile.type == TileID.Pots) { num15 = 22; if (tile.frameY >= 72 && tile.frameY <= 90) { num15 = 1; } if (tile.frameY >= 144 && tile.frameY <= 234) { num15 = 48; } if (tile.frameY >= 252 && tile.frameY <= 358) { num15 = 85; } if (tile.frameY >= 360 && tile.frameY <= 466) { num15 = 26; } if (tile.frameY >= 468 && tile.frameY <= 574) { num15 = 36; } if (tile.frameY >= 576 && tile.frameY <= 790) { num15 = 18; } if (tile.frameY >= 792 && tile.frameY <= 898) { num15 = 5; } if (tile.frameY >= 900 && tile.frameY <= 1006) { num15 = 0; } if (tile.frameY >= 1008 && tile.frameY <= 1114) { num15 = 148; } if (tile.frameY >= 1116 && tile.frameY <= 1222) { num15 = 241; } } if (tile.type == TileID.CorruptIce) { num15 = 118; } if (tile.type == TileID.HallowedIce) { num15 = 119; } if (tile.type == TileID.FleshIce) { num15 = 120; } if (tile.type == TileID.Palladium || tile.type == TileID.PalladiumColumn) { num15 = 144; } if (tile.type == TileID.Orichalcum || tile.type == TileID.BubblegumBlock) { num15 = 145; } if (tile.type == TileID.Titanium || tile.type == TileID.Titanstone) { num15 = 146; } if (tile.type == TileID.Slush) { num15 = 149; } if (tile.type == TileID.Hive) { num15 = 147; } if (tile.type == TileID.HoneyBlock) { num15 = 153; } if (tile.type == TileID.Larva) { num15 = 153; if (WorldGen.genRand.Next(3) == 0) { num15 = 26; } } if (tile.type == TileID.LihzahrdBrick) { num15 = 148; } if (tile.type == TileID.Bowls) { num15 = -1; } if (tile.type == TileID.PiggyBank) { num15 = 23; } if (tile.type == TileID.ClayBlock) { num15 = 28; } if (tile.type == TileID.WaterCandle) { num15 = 29; } if (tile.type == TileID.Books) { num15 = 22; } if (tile.type == TileID.Cobweb) { num15 = 30; } if (tile.type == TileID.Vines || tile.type == TileID.VineRope) { num15 = 3; } if (tile.type == TileID.Sand || tile.type == TileID.Coral || tile.type == TileID.SandstoneBrick || tile.type == TileID.Sunplate || tile.type == TileID.SandStoneSlab) { num15 = 32; } if (tile.type == TileID.Obsidian || tile.type == TileID.EbonstoneBrick) { num15 = 37; } if (tile.type == TileID.ObsidianBrick) { num15 = 109; } if (tile.type == TileID.Ash || tile.type == TileID.IridescentBrick || tile.type == TileID.Explosives || tile.type == TileID.Crimsand) { num15 = 36; } if (tile.type == TileID.Mud || tile.type == TileID.Mudstone) { num15 = 38; } if (tile.type == TileID.JunglePlants || tile.type == TileID.JungleVines || tile.type == TileID.JunglePlants2 || tile.type == TileID.Cactus || tile.type == TileID.CactusBlock || tile.type == TileID.PlantDetritus || tile.type == TileID.LifeFruit || tile.type == TileID.LivingMahoganyLeaves) { num15 = 40; } if (tile.type == TileID.PlanteraBulb) { if (WorldGen.genRand.Next(3) == 0) { num15 = 167; } else { num15 = 166; } } if (tile.type == TileID.JungleThorns) { num15 = 7; } if (tile.type == TileID.MushroomPlants || tile.type == TileID.MushroomTrees || tile.type == TileID.MushroomBlock) { num15 = 26; } if (tile.type == TileID.MushroomGrass) { num15 = 17; } if (tile.type == TileID.Ebonsand) { num15 = 14; } if (tile.type == TileID.Silt) { num15 = 53; } if (tile.type == TileID.IceBlock) { num15 = 80; } if (tile.type == TileID.IceBrick) { num15 = 80; } if (tile.type == TileID.BreakableIce) { num15 = 80; } if (tile.type == TileID.Stalactite) { if (tile.frameX < 54) { num15 = 80; } else if (tile.frameX >= 324) { num15 = 117; } else if (tile.frameX >= 270) { num15 = 14; } else if (tile.frameX >= 216) { num15 = 1; } else if (tile.frameX >= 162) { num15 = 147; } else if (tile.frameX >= 108) { num15 = 30; } else { num15 = 1; } } if (tile.type == TileID.SlimeBlock) { num15 = 4; } if (tile.type == TileID.BoneBlock) { num15 = 26; } if (tile.type == TileID.FleshBlock) { num15 = 5; } if (tile.type == TileID.RainCloud) { num15 = 108; } if (tile.type == TileID.FrozenSlimeBlock) { num15 = 4; } if (tile.type == TileID.RedStucco) { num15 = 26; } if (tile.type == TileID.YellowStucco) { num15 = 32; } if (tile.type == TileID.GreenStucco) { num15 = 2; } if (tile.type == TileID.GrayStucco) { num15 = 1; } if (tile.type == TileID.Pearlsand || tile.type == TileID.PearlstoneBrick || tile.type == TileID.SnowBlock || tile.type == TileID.SnowBrick) { num15 = 51; } if (tile.type == TileID.HallowedGrass) { if (WorldGen.genRand.Next(2) == 0) { num15 = 0; } else { num15 = 47; } } if (tile.type == TileID.HallowedPlants || tile.type == TileID.HallowedPlants2 || tile.type == TileID.HallowedVines) { num15 = 47; } if (tile.type == TileID.Cobalt || tile.type == TileID.CobaltBrick) { num15 = 48; } if (tile.type == TileID.Mythril || tile.type == TileID.MythrilBrick || tile.type == TileID.GreenCandyCaneBlock) { num15 = 49; } if (tile.type == TileID.Adamantite || tile.type == TileID.CandyCaneBlock || tile.type == TileID.AdamantiteBeam) { num15 = 50; } if (tile.type == TileID.AdamantiteForge) { num15 = 50; if (tile.frameX >= 54) { num15 = 146; } } if (tile.type == TileID.MythrilAnvil) { num15 = 49; if (tile.frameX >= 36) { num15 = 145; } } if (tile.type == TileID.HolidayLights) { num15 = 49; } if (Main.tileAlch[(int)tile.type]) { int num32 = (int)(tile.frameX / 18); if (num32 == 0) { num15 = 3; } if (num32 == 1) { num15 = 3; } if (num32 == 2) { num15 = 7; } if (num32 == 3) { num15 = 17; } if (num32 == 4) { num15 = 3; } if (num32 == 5) { num15 = 6; } if (num32 == 6) { num15 = 224; } } if (tile.type == TileID.Hellstone || tile.type == TileID.HellstoneBrick || tile.type == TileID.Hellforge) { if (WorldGen.genRand.Next(2) == 0) { num15 = 6; } else { num15 = 25; } } if (tile.type == TileID.Meteorite) { if (WorldGen.genRand.Next(2) == 0) { num15 = 6; } else { num15 = 23; } } if (tile.type == TileID.CorruptThorns) { if (WorldGen.genRand.Next(2) == 0) { num15 = 14; } else { num15 = 24; } } if (tile.type == TileID.CrimtaneThorns) { if (WorldGen.genRand.Next(3) == 0) { num15 = 5; } else { num15 = 125; } } if (tile.type == TileID.CorruptGrass || tile.type == TileID.CorruptPlants) { if (WorldGen.genRand.Next(2) == 0) { num15 = 14; } else { num15 = 17; } } if (tile.type == TileID.Ebonstone || tile.type == TileID.ShadowOrbs) { if (tile.type == TileID.ShadowOrbs && tile.frameX >= 36) { num15 = 5; } else if (WorldGen.genRand.Next(2) == 0) { num15 = 14; } else { num15 = 1; } } if (tile.type == TileID.Saplings) { int num33 = (int)(tile.frameX / 54); if (num33 == 1) { num15 = 122; } else if (num33 == 2) { num15 = 78; } else if (num33 == 3) { num15 = 77; } else if (num33 == 4) { num15 = 121; } else if (num33 == 5) { num15 = 79; } else { num15 = 7; } } if (tile.type == TileID.Sunflower) { if (WorldGen.genRand.Next(2) == 0) { num15 = 3; } else { num15 = 19; } } if (tile.type == TileID.Crystals) { if (tile.frameX == 0 || tile.frameX == 54 || tile.frameX == 108) { num15 = 68; } else if (tile.frameX == 18 || tile.frameX == 72 || tile.frameX == 126) { num15 = 69; } else { num15 = 70; } } if (tile.type == TileID.CrystalBlock) { num15 = WorldGen.genRand.Next(68, 71); } if (tile.type == TileID.Torches) { int num34 = (int)(tile.frameY / 22); if (num34 == 0) { num15 = 6; } else if (num34 == 8) { num15 = 75; } else if (num34 == 9) { num15 = 135; } else if (num34 == 10) { num15 = 158; } else if (num34 == 11) { num15 = 169; } else if (num34 == 12) { num15 = 156; } else if (num34 == 13) { num15 = 234; } else if (num34 == 14) { num15 = 66; } else if (num34 == 15) { num15 = 242; } else { num15 = 58 + num34; } } if (tile.type == TileID.Jackolanterns) { num15 = 189; if (tile.frameX < 36 && WorldGen.genRand.Next(2) == 0) { num15 = 6; } } if ((tile.type == TileID.Chandeliers || tile.type == TileID.HangingLanterns) && WorldGen.genRand.Next(2) == 0) { num15 = 6; } if (tile.type == TileID.FireflyinaBottle) { num15 = -1; } if (tile.type == TileID.LightningBuginaBottle) { num15 = -1; } if (tile.type == TileID.Beds || tile.type == TileID.Bathtubs || tile.type == TileID.Bookcases) { num15 = -1; } if (tile.type == TileID.Candles || tile.type == TileID.Chandeliers || tile.type == TileID.HangingLanterns || tile.type == TileID.Lamps || tile.type == TileID.Candelabras) { num15 = -1; } if (tile.type == TileID.BorealWood) { num15 = 214; } if (tile.type == TileID.PalmWood) { num15 = 215; } num14++; continue; IL_14A0: num15 = -1; goto IL_14A9; } if (effectOnly) { return; } if (fail) { if (tile.type == TileID.Grass || tile.type == TileID.CorruptGrass || tile.type == TileID.HallowedGrass || tile.type == TileID.FleshGrass) { tile.type = 0; } if (tile.type == TileID.JungleGrass || tile.type == TileID.MushroomGrass) { tile.type = 59; } if (Main.tileMoss[(int)tile.type]) { tile.type = 1; } WorldGen.SquareTileFrame(i, j, true); return; } if (tile.type == TileID.Containers && Main.netMode != 1) { int num41 = (int)(tile.frameX / 18); int y = j - (int)(tile.frameY / 18); while (num41 > 1) { num41 -= 2; } num41 = i - num41; if (!Chest.DestroyChest(num41, y)) { return; } } if (tile.type == TileID.Dressers && Main.netMode != 1) { int num42 = (int)(tile.frameX / 18); int y2 = j - (int)(tile.frameY / 18); num42 %= 3; num42 = i - num42; if (!Chest.DestroyChest(num42, y2)) { return; } } if (tile.type == TileID.Cobweb && tile.wall == WallID.SpiderUnsafe && WorldGen.genRand.Next(4) != 0) { noItem = true; } if (!noItem && !WorldGen.stopDrops && Main.netMode != 1) { bool flag = false; int num43 = -1; int num44 = -1; int num45 = -1; if (tile.type == TileID.Plants) { num43 = 400; num44 = 100; if (tile.frameX >= 108) { num43 *= 3; num44 *= 3; } } if (tile.type == TileID.Plants2) { num43 = 200; num44 = 50; if (tile.frameX >= 108) { num43 *= 3; num44 *= 3; } } if (tile.type == TileID.JunglePlants) { num45 = 80; if (tile.frameX >= 108) { num45 *= 3; } } if (tile.type == TileID.JunglePlants2) { num45 = 40; if (tile.frameX >= 108) { num45 *= 3; } } if (tile.type == TileID.JungleVines) { num45 = 250; } if (tile.type == TileID.SmallPiles) { if (tile.frameY == 0 && tile.frameX < 214) { num43 = 6; } if (tile.frameY == 18 && (tile.frameX < 214 || tile.frameX >= 1368)) { num43 = 6; } } else if (tile.type == TileID.LargePiles) { if (tile.frameX >= 378 && tile.frameX <= 700) { num43 = 6; } } else if (tile.type == TileID.LargePiles2) { if (tile.frameX >= 756 && tile.frameX <= 916) { num43 = 6; } if (tile.frameX <= 322) { num43 = 6; } } else if (tile.type == TileID.PlantDetritus) { num45 = 10; } if (num43 > 0 && NPC.CountNPCS(357) < 5 && WorldGen.genRand.Next(num43) == 0) { int type2 = 357; if (WorldGen.genRand.Next(NPC.goldCritterChance) == 0) { type2 = 448; } int num46 = NPC.NewNPC(i * 16 + 10, j * 16, type2, 0, 0f, 0f, 0f, 0f, 255); Main.npc[num46].TargetClosest(true); Main.npc[num46].velocity.Y = (float)WorldGen.genRand.Next(-50, -21) * 0.1f; Main.npc[num46].velocity.X = (float)WorldGen.genRand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num46].direction); Main.npc[num46].direction *= -1; Main.npc[num46].netUpdate = true; } if (num44 > 0 && NPC.CountNPCS(377) < 5 && WorldGen.genRand.Next(num44) == 0) { int type3 = 377; if (WorldGen.genRand.Next(NPC.goldCritterChance) == 0) { type3 = 446; } int num47 = NPC.NewNPC(i * 16 + 10, j * 16, type3, 0, 0f, 0f, 0f, 0f, 255); Main.npc[num47].TargetClosest(true); Main.npc[num47].velocity.Y = (float)WorldGen.genRand.Next(-50, -21) * 0.1f; Main.npc[num47].velocity.X = (float)WorldGen.genRand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num47].direction); Main.npc[num47].direction *= -1; Main.npc[num47].netUpdate = true; } if (num45 > 0 && NPC.CountNPCS(485) + NPC.CountNPCS(486) + NPC.CountNPCS(487) < 8 && WorldGen.genRand.Next(num45) == 0) { int type4 = 485; if (WorldGen.genRand.Next(4) == 0) { type4 = 486; } if (WorldGen.genRand.Next(12) == 0) { type4 = 487; } int num48 = NPC.NewNPC(i * 16 + 10, j * 16, type4, 0, 0f, 0f, 0f, 0f, 255); Main.npc[num48].TargetClosest(true); Main.npc[num48].velocity.Y = (float)WorldGen.genRand.Next(-50, -21) * 0.1f; Main.npc[num48].velocity.X = (float)WorldGen.genRand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num48].direction); Main.npc[num48].direction *= -1; Main.npc[num48].netUpdate = true; } int num49 = 0; int num50 = 0; if (tile.type == TileID.Dirt || tile.type == TileID.Grass || tile.type == TileID.HallowedGrass) { num49 = 2; } else if (tile.type == TileID.Granite) { num49 = 3086; } else if (tile.type == TileID.GraniteBlock) { num49 = 3087; } else if (tile.type == TileID.Marble) { num49 = 3081; } else if (tile.type == TileID.Bubble) { num49 = 3214; } else if (tile.type == TileID.VineRope) { num49 = 2996; } else if (tile.type == TileID.SilkRope) { num49 = 3077; } else if (tile.type == TileID.WebRope) { num49 = 3078; } else if ((tile.type == TileID.Vines || tile.type == TileID.JungleVines) && WorldGen.genRand.Next(2) == 0 && Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].cordage) { num49 = 2996; } else if (tile.type == TileID.MarbleBlock) { num49 = 3066; } else if (tile.type == TileID.Stone) { num49 = 3; } else if (tile.type == TileID.Plants || tile.type == TileID.Plants2) { if (WorldGen.genRand.Next(2) == 0 && (Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].HasItem(281) || Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].HasItem(986))) { num49 = 283; } } else if (tile.type == TileID.DyePlants) { int num51 = (int)(tile.frameX / 34); num49 = 1107 + num51; if (num51 >= 8 && num51 <= 11) { num49 = 3385 + num51 - 8; } } else if (tile.type == TileID.Torches) { int num52 = (int)(tile.frameY / 22); if (num52 == 0) { num49 = 8; } else if (num52 == 8) { num49 = 523; } else if (num52 == 9) { num49 = 974; } else if (num52 == 10) { num49 = 1245; } else if (num52 == 11) { num49 = 1333; } else if (num52 == 12) { num49 = 2274; } else if (num52 == 13) { num49 = 3004; } else if (num52 == 14) { num49 = 3045; } else if (num52 == 15) { num49 = 3114; } else { num49 = 426 + num52; } } else if (tile.type == TileID.MetalBars) { int num53 = (int)(tile.frameX / 18); if (num53 == 0) { num49 = 20; } if (num53 == 1) { num49 = 703; } if (num53 == 2) { num49 = 22; } if (num53 == 3) { num49 = 704; } if (num53 == 4) { num49 = 21; } if (num53 == 5) { num49 = 705; } if (num53 == 6) { num49 = 19; } if (num53 == 7) { num49 = 706; } if (num53 == 8) { num49 = 57; } if (num53 == 9) { num49 = 117; } if (num53 == 10) { num49 = 175; } if (num53 == 11) { num49 = 381; } if (num53 == 12) { num49 = 1184; } if (num53 == 13) { num49 = 382; } if (num53 == 14) { num49 = 1191; } if (num53 == 15) { num49 = 391; } if (num53 == 16) { num49 = 1198; } if (num53 == 17) { num49 = 1006; } if (num53 == 18) { num49 = 1225; } if (num53 == 19) { num49 = 1257; } if (num53 == 20) { num49 = 1552; } if (num53 == 21) { num49 = 3261; } if (num53 == 22) { num49 = 3467; } } else if (tile.type == TileID.PlanterBox) { int num54 = (int)(tile.frameY / 18); num49 = 3215 + num54; } else if (tile.type == TileID.LivingMahogany) { num49 = 620; } else if (tile.type == TileID.Coralstone) { num49 = 2435; } else if (tile.type == TileID.CopperCoinPile) { num49 = 71; } else if (tile.type == TileID.SilverCoinPile) { num49 = 72; } else if (tile.type == TileID.GoldCoinPile) { num49 = 73; } else if (tile.type == TileID.PlatinumCoinPile) { num49 = 74; } else if (tile.type == TileID.Trees) { if (tile.frameX >= 22 && tile.frameY >= 198) { if (Main.netMode != 1) { if (WorldGen.genRand.Next(2) == 0) { int num55 = j; while (Main.tile[i, num55] != null && (!Main.tile[i, num55].active() || !Main.tileSolid[(int)Main.tile[i, num55].type] || Main.tileSolidTop[(int)Main.tile[i, num55].type])) { num55++; } if (Main.tile[i, num55] != null) { if (Main.tile[i, num55].type == TileID.Grass || Main.tile[i, num55].type == TileID.HallowedGrass || Main.tile[i, num55].type == TileID.SnowBlock || Main.tile[i, num55].type == TileID.FleshGrass || Main.tile[i, num55].type == TileID.CorruptGrass) { num49 = 9; num50 = 27; } else { num49 = 9; } } } else { num49 = 9; } } } else { num49 = 9; } if (num49 == 9) { int num56 = i; int num57 = j; if (tile.frameX == 66 && tile.frameY <= 45) { num56++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num56--; } if (tile.frameX == 22 && tile.frameY >= 132 && tile.frameY <= 176) { num56--; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num56++; } if (tile.frameX == 44 && tile.frameY >= 198) { num56++; } if (tile.frameX == 66 && tile.frameY >= 198) { num56--; } while (!Main.tile[num56, num57].active() || !Main.tileSolid[(int)Main.tile[num56, num57].type]) { num57++; } if (Main.tile[num56, num57].active()) { ushort type = Main.tile[num56, num57].type; if (type <= 70) { if (type != 23) { if (type != 60) { if (type == 70) { num49 = 183; } } else { num49 = 620; } } else { num49 = 619; } } else if (type != 109) { if (type != 147) { if (type == 199) { num49 = 911; } } else { num49 = 2503; } } else { num49 = 621; } } int num58 = (int)Player.FindClosest(new Vector2((float)(num56 * 16), (float)(num57 * 16)), 16, 16); int axe = Main.player[num58].inventory[Main.player[num58].selectedItem].axe; if (WorldGen.genRand.Next(200) < axe) { flag = true; } } } else if (tile.type == TileID.PalmTree) { num49 = 2504; if (tile.frameX <= 132 && tile.frameX >= 88) { num50 = 27; } int num59 = j; while (!Main.tile[i, num59].active() || !Main.tileSolid[(int)Main.tile[i, num59].type]) { num59++; } if (Main.tile[i, num59].active()) { ushort type = Main.tile[i, num59].type; if (type != 112) { if (type != 116) { if (type == 234) { num49 = 911; } } else { num49 = 621; } } else { num49 = 619; } } } else if (tile.type == TileID.LunarOre) { num49 = 3460; } else if (tile.type == TileID.LunarBrick) { num49 = 3461; } else if (tile.type == TileID.LunarBlockSolar) { num49 = 3573; } else if (tile.type == TileID.LunarBlockVortex) { num49 = 3574; } else if (tile.type == TileID.LunarBlockNebula) { num49 = 3575; } else if (tile.type == TileID.LunarBlockStardust) { num49 = 3576; } else if (tile.type >= TileID.AmethystGemsparkOff && tile.type <= TileID.AmberGemsparkOff) { num49 = (int)(1970 + tile.type - 255); } else if (tile.type >= TileID.AmethystGemspark && tile.type <= TileID.AmberGemspark) { num49 = (int)(1970 + tile.type - 262); } else if (tile.type == TileID.ChristmasTree) { if (tile.frameX >= 10) { WorldGen.dropXmasTree(i, j, 0); WorldGen.dropXmasTree(i, j, 1); WorldGen.dropXmasTree(i, j, 2); WorldGen.dropXmasTree(i, j, 3); } } else if (tile.type == TileID.BeachPiles) { switch (tile.frameY / 22) { case 0: num49 = 2625; break; case 1: num49 = 2626; break; } } else if (tile.type == TileID.Cog) { num49 = 1344; } else if (tile.type == TileID.StoneSlab) { num49 = 2119; } else if (tile.type == TileID.SandStoneSlab) { num49 = 2120; } else if (tile.type == TileID.Waterfall) { num49 = 2693; } else if (tile.type == TileID.Lavafall) { num49 = 2694; } else if (tile.type == TileID.Honeyfall) { num49 = 2787; } else if (tile.type == TileID.Confetti) { num49 = 2695; } else if (tile.type == TileID.ConfettiBlack) { num49 = 2697; } else if (tile.type == TileID.ChlorophyteBrick) { num49 = 2792; } else if (tile.type == TileID.CrimtaneBrick) { num49 = 2793; } else if (tile.type == TileID.ShroomitePlating) { num49 = 2794; } else if (tile.type == TileID.MartianConduitPlating) { num49 = 2860; } else if (tile.type == TileID.LivingFire) { num49 = 2701; } else if (tile.type == TileID.LivingCursedFire) { num49 = 2751; } else if (tile.type == TileID.LivingDemonFire) { num49 = 2752; } else if (tile.type == TileID.LivingFrostFire) { num49 = 2753; } else if (tile.type == TileID.LivingIchor) { num49 = 2754; } else if (tile.type == TileID.LivingUltrabrightFire) { num49 = 2755; } else if (tile.type == TileID.ChimneySmoke) { num49 = 2868; } else if (tile.type == TileID.PumpkinBlock) { num49 = 1725; } else if (tile.type == TileID.HayBlock) { num49 = 1727; } else if (tile.type == TileID.SpookyWood) { num49 = 1729; } else if (tile.type == TileID.TinPlating) { num49 = 2692; } else if (tile.type == TileID.MeteoriteBrick) { num49 = 3100; } else if (tile.type == TileID.Sandstone) { num49 = 3271; } else if (tile.type == TileID.CorruptSandstone) { num49 = 3276; } else if (tile.type == TileID.CrimsonSandstone) { num49 = 3277; } else if (tile.type == TileID.HallowSandstone) { num49 = 3339; } else if (tile.type == TileID.HardenedSand) { num49 = 3272; } else if (tile.type == TileID.CorruptHardenedSand) { num49 = 3274; } else if (tile.type == TileID.CrimsonHardenedSand) { num49 = 3275; } else if (tile.type == TileID.HallowHardenedSand) { num49 = 3338; } else if (tile.type == TileID.DesertFossil) { num49 = 3347; } else if (tile.type == TileID.FossilOre) { num49 = 3380; } else if (tile.type == TileID.PineTree) { num49 = 1872; } else if (tile.type == TileID.CopperPlating) { num49 = 2173; } else if (tile.type == TileID.Chain) { num49 = 85; } else if (tile.type == TileID.Rope) { num49 = 965; } else if (tile.type == TileID.Chlorophyte) { num49 = 947; } else if (tile.type == TileID.Iron) { num49 = 11; } else if (tile.type == TileID.Copper) { num49 = 12; } else if (tile.type == TileID.Gold) { num49 = 13; } else if (tile.type == TileID.Silver) { num49 = 14; } else if (tile.type == TileID.Sunplate) { num49 = 824; } else if (tile.type == TileID.Crimsand) { num49 = 1246; } else if (tile.type == TileID.LihzahrdBrick) { num49 = 1101; } else if (tile.type == TileID.Slush) { num49 = 1103; } else if (tile.type == TileID.Presents) { num49 = 1869; } else if (tile.type == TileID.DynastyWood) { num49 = 2260; } else if (tile.type == TileID.RedDynastyShingles) { num49 = 2261; } else if (tile.type == TileID.BlueDynastyShingles) { num49 = 2262; } else if (tile.type == TileID.HoneyBlock) { num49 = 1125; } else if (tile.type == TileID.CrispyHoneyBlock) { num49 = 1127; } else if (tile.type == TileID.Hive) { if (WorldGen.genRand.Next(3) == 0) { tile.honey(true); tile.liquid = 255; } else { num49 = 1124; if (Main.netMode != 1 && WorldGen.genRand.Next(2) == 0) { int num60 = 1; if (WorldGen.genRand.Next(3) == 0) { num60 = 2; } for (int num61 = 0; num61 < num60; num61++) { int type5 = WorldGen.genRand.Next(210, 212); int num62 = NPC.NewNPC(i * 16 + 8, j * 16 + 15, type5, 1, 0f, 0f, 0f, 0f, 255); Main.npc[num62].velocity.X = (float)WorldGen.genRand.Next(-200, 201) * 0.002f; Main.npc[num62].velocity.Y = (float)WorldGen.genRand.Next(-200, 201) * 0.002f; Main.npc[num62].netUpdate = true; } } } } else if (tile.type == TileID.Palladium) { num49 = 1104; } else if (tile.type == TileID.Orichalcum) { num49 = 1105; } else if (tile.type == TileID.Titanium) { num49 = 1106; } else if (tile.type == TileID.PalladiumColumn) { num49 = 1589; } else if (tile.type == TileID.BubblegumBlock) { num49 = 1591; } else if (tile.type == TileID.Titanstone) { num49 = 1593; } else if (tile.type == TileID.LivingWood) { num49 = 9; } else if (tile.type == TileID.Crimstone) { num49 = 836; } else if (tile.type == TileID.Crimtane) { num49 = 880; } else if (tile.type == TileID.Tin) { num49 = 699; } else if (tile.type == TileID.Lead) { num49 = 700; } else if (tile.type == TileID.Tungsten) { num49 = 701; } else if (tile.type == TileID.Platinum) { num49 = 702; } else if (tile.type == TileID.Silt) { num49 = 424; } else if (tile.type == TileID.WoodenBeam) { num49 = 480; } else if (tile.type == TileID.Ebonwood) { num49 = 619; } else if (tile.type == TileID.RichMahogany) { num49 = 620; } else if (tile.type == TileID.Pearlwood) { num49 = 621; } else if (tile.type == TileID.IceBlock) { num49 = 664; } else if (tile.type == TileID.IceBrick) { num49 = 883; } else if (tile.type == TileID.WoodenSpikes) { num49 = 1150; } else if (tile.type == TileID.Asphalt) { num49 = 775; } else if (tile.type == TileID.MinecartTrack) { num49 = Minecart.GetTrackItem(tile); } else if (tile.type == TileID.Cloud) { num49 = 751; } else if (tile.type == TileID.FleshBlock) { num49 = 763; } else if (tile.type == TileID.BoneBlock) { num49 = 766; } else if (tile.type == TileID.SlimeBlock) { num49 = 762; } else if (tile.type == TileID.RainCloud) { num49 = 765; } else if (tile.type == TileID.FrozenSlimeBlock) { num49 = 767; } else if (tile.type == TileID.ExposedGems) { int num63 = (int)(tile.frameX / 18); if (num63 == 0) { num49 = 181; } else if (num63 == 1) { num49 = 180; } else if (num63 == 2) { num49 = 177; } else if (num63 == 3) { num49 = 179; } else if (num63 == 4) { num49 = 178; } else if (num63 == 5) { num49 = 182; } else if (num63 == 6) { num49 = 999; } } else if (tile.type == TileID.HolidayLights) { if (tile.frameX == 0 || tile.frameX == 54) { num49 = 596; } else if (tile.frameX == 18 || tile.frameX == 72) { num49 = 597; } else if (tile.frameX == 36 || tile.frameX == 90) { num49 = 598; } } else if (tile.type == TileID.Bottles) { int num64 = (int)(tile.frameX / 18); if (num64 == 1) { num49 = 28; } else if (num64 == 2) { num49 = 110; } else if (num64 == 3) { num49 = 350; } else if (num64 == 4) { num49 = 351; } else if (num64 == 5) { num49 = 2234; } else if (num64 == 6) { num49 = 2244; } else if (num64 == 7) { num49 = 2257; } else if (num64 == 8) { num49 = 2258; } else { num49 = 31; } } else if (tile.type == TileID.Platforms) { int num65 = (int)(tile.frameY / 18); if (num65 == 0) { num49 = 94; } else if (num65 == 1) { num49 = 631; } else if (num65 == 2) { num49 = 632; } else if (num65 == 3) { num49 = 633; } else if (num65 == 4) { num49 = 634; } else if (num65 == 5) { num49 = 913; } else if (num65 == 6) { num49 = 1384; } else if (num65 == 7) { num49 = 1385; } else if (num65 == 8) { num49 = 1386; } else if (num65 == 9) { num49 = 1387; } else if (num65 == 10) { num49 = 1388; } else if (num65 == 11) { num49 = 1389; } else if (num65 == 12) { num49 = 1418; } else if (num65 == 13) { num49 = 1457; } else if (num65 == 14) { num49 = 1702; } else if (num65 == 15) { num49 = 1796; } else if (num65 == 16) { num49 = 1818; } else if (num65 == 17) { num49 = 2518; } else if (num65 == 18) { num49 = 2549; } else if (num65 == 19) { num49 = 2566; } else if (num65 == 20) { num49 = 2581; } else if (num65 == 21) { num49 = 2627; } else if (num65 == 22) { num49 = 2628; } else if (num65 == 23) { num49 = 2629; } else if (num65 == 24) { num49 = 2630; } else if (num65 == 25) { num49 = 2744; } else if (num65 == 26) { num49 = 2822; } else if (num65 == 27) { num49 = 3144; } else if (num65 == 28) { num49 = 3146; } else if (num65 == 29) { num49 = 3145; } } else if (tile.type == TileID.Demonite) { num49 = 56; } else if (tile.type == TileID.DemoniteBrick) { num49 = 577; } else if (tile.type == TileID.CorruptGrass) { num49 = 2; } else if (tile.type == TileID.Ebonstone) { num49 = 61; } else if (tile.type == TileID.WoodBlock) { num49 = 9; } else if (tile.type == TileID.LivingWood) { num49 = 9; } else if (tile.type == TileID.Shadewood) { num49 = 911; } else if (tile.type == TileID.Candles) { int num66 = (int)(tile.frameY / 22); num49 = 105; if (num66 == 1) { num49 = 1405; } else if (num66 == 2) { num49 = 1406; } else if (num66 == 3) { num49 = 1407; } else if (num66 >= 4 && num66 <= 13) { num49 = 2045 + num66 - 4; } else if (num66 >= 14 && num66 <= 16) { num49 = 2153 + num66 - 14; } else if (num66 == 17) { num49 = 2236; } else if (num66 == 18) { num49 = 2523; } else if (num66 == 19) { num49 = 2542; } else if (num66 == 20) { num49 = 2556; } else if (num66 == 21) { num49 = 2571; } else if (num66 == 22) { num49 = 2648; } else if (num66 == 23) { num49 = 2649; } else if (num66 == 24) { num49 = 2650; } else if (num66 == 25) { num49 = 2651; } else if (num66 == 26) { num49 = 2818; } else if (num66 == 27) { num49 = 3171; } else if (num66 == 28) { num49 = 3173; } else if (num66 == 29) { num49 = 3172; } } else if (tile.type == TileID.PeaceCandle) { num49 = 3117; } else if (tile.type == TileID.PinkSlimeBlock) { num49 = 3113; } else if (tile.type == TileID.PlatinumCandle) { num49 = 713; } else if (tile.type == TileID.Meteorite) { num49 = 116; } else if (tile.type == TileID.GrayBrick) { num49 = 129; } else if (tile.type == TileID.RedBrick) { num49 = 131; } else if (tile.type == TileID.ClayBlock) { num49 = 133; } else if (tile.type == TileID.BlueDungeonBrick) { num49 = 134; } else if (tile.type == TileID.GreenDungeonBrick) { num49 = 137; } else if (tile.type == TileID.PinkDungeonBrick) { num49 = 139; } else if (tile.type == TileID.GoldBrick) { num49 = 141; } else if (tile.type == TileID.SilverBrick) { num49 = 143; } else if (tile.type == TileID.CopperBrick) { num49 = 145; } else if (tile.type == TileID.Spikes) { num49 = 147; } else if (tile.type == TileID.WaterCandle) { num49 = 148; } else if (tile.type == TileID.Cobweb) { num49 = 150; } else if (tile.type == TileID.Sand) { num49 = 169; } else if (tile.type == TileID.SandstoneBrick) { num49 = 607; } else if (tile.type == TileID.EbonstoneBrick) { num49 = 609; } else if (tile.type == TileID.Glass) { num49 = 170; } else if (tile.type == TileID.Obsidian) { num49 = 173; } else if (tile.type == TileID.Ash) { num49 = 172; } else if (tile.type == TileID.Hellstone) { num49 = 174; } else if (tile.type == TileID.JungleGrass) { num49 = 176; } else if (tile.type == TileID.MushroomGrass) { num49 = 176; } else if (tile.type == TileID.ObsidianBrick) { num49 = 192; } else if (tile.type == TileID.HellstoneBrick) { num49 = 214; } else if (tile.type == TileID.ClayPot) { num49 = 222; } else if (tile.type == TileID.Coral) { num49 = 275; } else if (tile.type == TileID.Cactus) { num49 = 276; } else if (tile.type == TileID.CactusBlock) { num49 = 276; } else if (tile.type == TileID.Cobalt) { num49 = 364; } else if (tile.type == TileID.Mythril) { num49 = 365; } else if (tile.type == TileID.Adamantite) { num49 = 366; } else if (tile.type == TileID.AdamantiteBeam) { num49 = 604; } else if (tile.type == TileID.Ebonsand) { num49 = 370; } else if (tile.type == TileID.Pearlsand) { num49 = 408; } else if (tile.type == TileID.Pearlstone) { num49 = 409; } else if (tile.type == TileID.Crystals) { num49 = 502; } else if (tile.type == TileID.PearlstoneBrick) { num49 = 412; } else if (tile.type == TileID.IridescentBrick) { num49 = 413; } else if (tile.type == TileID.Mudstone) { num49 = 414; } else if (tile.type == TileID.CobaltBrick) { num49 = 415; } else if (tile.type == TileID.MythrilBrick) { num49 = 416; } else if (tile.type == TileID.Switches) { num49 = 538; } else if (tile.type == TileID.CrystalBlock) { num49 = 3234; } else if (tile.type == TileID.Traps) { int num67 = (int)(tile.frameY / 18); if (num67 == 0) { num49 = 539; } if (num67 == 1) { num49 = 1146; } if (num67 == 2) { num49 = 1147; } if (num67 == 3) { num49 = 1148; } if (num67 == 4) { num49 = 1149; } } else if (tile.type == TileID.Explosives) { num49 = 580; } else if (tile.type == TileID.CandyCaneBlock) { num49 = 586; } else if (tile.type == TileID.GreenCandyCaneBlock) { num49 = 591; } else if (tile.type == TileID.SnowBlock) { num49 = 593; } else if (tile.type == TileID.SnowBrick) { num49 = 594; } else if (tile.type == TileID.RedStucco) { num49 = 611; } else if (tile.type == TileID.YellowStucco) { num49 = 612; } else if (tile.type == TileID.GreenStucco) { num49 = 613; } else if (tile.type == TileID.GrayStucco) { num49 = 614; } else if (tile.type == TileID.RainbowBrick) { num49 = 662; } else if (tile.type == TileID.TinBrick) { num49 = 717; } else if (tile.type == TileID.TungstenBrick) { num49 = 718; } else if (tile.type == TileID.PlatinumBrick) { num49 = 719; } else if (tile.type == TileID.CorruptIce) { num49 = 833; } else if (tile.type == TileID.HallowedIce) { num49 = 834; } else if (tile.type == TileID.FleshIce) { num49 = 835; } else if (tile.type == TileID.LandMine) { num49 = 937; } else if (tile.type == TileID.PressurePlates) { int num68 = (int)(tile.frameY / 18); if (num68 == 0) { num49 = 529; } if (num68 == 1) { num49 = 541; } if (num68 == 2) { num49 = 542; } if (num68 == 3) { num49 = 543; } if (num68 == 4) { num49 = 852; } if (num68 == 5) { num49 = 853; } if (num68 == 6) { num49 = 1151; } } else if (tile.type == TileID.Timers) { if (tile.frameX == 0) { num49 = 583; } if (tile.frameX == 18) { num49 = 584; } if (tile.frameX == 36) { num49 = 585; } } else if (tile.type == TileID.ActiveStoneBlock) { num49 = 511; } else if (tile.type == TileID.InactiveStoneBlock) { num49 = 512; } else if (tile.type == TileID.JunglePlants || tile.type == TileID.JunglePlants2) { if (tile.frameX == 144 && tile.type == TileID.JunglePlants) { Item.NewItem(i * 16, j * 16, 16, 16, 331, WorldGen.genRand.Next(2, 4), false, 0, false, false); } else if (tile.frameX == 162 && tile.type == TileID.JunglePlants) { num49 = 223; } else if (tile.frameX >= 108 && tile.frameX <= 126 && tile.type == TileID.JunglePlants && WorldGen.genRand.Next(20) == 0) { num49 = 208; } else if (WorldGen.genRand.Next(100) == 0) { num49 = 195; } } else if (tile.type == TileID.Mud || tile.type == TileID.JungleGrass) { num49 = 176; } else if (tile.type == TileID.MushroomBlock) { num49 = 183; } else if (tile.type == TileID.MushroomPlants || tile.type == TileID.MushroomTrees) { if (WorldGen.genRand.Next(50) == 0) { num49 = 194; } else if (WorldGen.genRand.Next(2) == 0) { num49 = 183; } } else if (tile.type >= TileID.Sapphire && tile.type <= TileID.Diamond) { num49 = (int)(tile.type - 63 + 177); } else if (tile.type == TileID.Books) { if (tile.frameX == 90) { num49 = 165; } else { num49 = 149; } } else if (Main.tileAlch[(int)tile.type]) { if (tile.type > 82) { int num69 = (int)(tile.frameX / 18); bool flag2 = false; num49 = 313 + num69; int type6 = 307 + num69; if (tile.type == TileID.BloomingHerbs) { flag2 = true; } if (num69 == 0 && Main.dayTime) { flag2 = true; } if (num69 == 1 && !Main.dayTime) { flag2 = true; } if (num69 == 3 && !Main.dayTime && (Main.bloodMoon || Main.moonPhase == 0)) { flag2 = true; } if (num69 == 4 && (Main.raining || Main.cloudAlpha > 0f)) { flag2 = true; } if (num69 == 5 && !Main.raining && Main.dayTime && Main.time > 40500.0) { flag2 = true; } if (num69 == 6) { num49 = 2358; type6 = 2357; } int num70 = (int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16); if (Main.player[num70].inventory[Main.player[num70].selectedItem].type == 213) { Item.NewItem(i * 16, j * 16, 16, 16, type6, WorldGen.genRand.Next(1, 6), false, 0, false, false); Item.NewItem(i * 16, j * 16, 16, 16, num49, WorldGen.genRand.Next(1, 3), false, 0, false, false); num49 = -1; } else if (flag2) { int stack = WorldGen.genRand.Next(1, 4); Item.NewItem(i * 16, j * 16, 16, 16, type6, stack, false, 0, false, false); } } } else if (tile.type == TileID.BorealWood) { num49 = 2503; } else if (tile.type == TileID.PalmWood) { num49 = 2504; } if (num49 > 0) { int num71 = 1; if (flag) { num71++; } Item.NewItem(i * 16, j * 16, 16, 16, num49, num71, false, -1, false, false); } if (num50 > 0) { Item.NewItem(i * 16, j * 16, 16, 16, num50, 1, false, -1, false, false); } } if (Main.netMode != 2) { AchievementsHelper.NotifyTileDestroyed(Main.player[Main.myPlayer], tile.type); } tile.active(false); tile.halfBrick(false); tile.frameX = -1; tile.frameY = -1; tile.color(0); tile.frameNumber(0); if (tile.type == TileID.Hellstone && j > Main.maxTilesY - 200) { tile.lava(true); tile.liquid = 128; } else if (tile.type == TileID.Glass) { WorldGen.SquareWallFrame(i, j, true); } tile.type = 0; tile.inActive(false); WorldGen.SquareTileFrame(i, j, true); } } }
private static bool HandlePlayerSlot(GetDataHandlerArgs args) { byte plr = args.Data.ReadInt8(); byte slot = args.Data.ReadInt8(); byte stack = args.Data.ReadInt8(); byte prefix = args.Data.ReadInt8(); short type = args.Data.ReadInt16(); var user = TShock.Users.GetUserByName(args.Player.Name); if (OnPlayerSlot(plr, slot, stack, prefix, type)) return true; if (plr != args.Player.Index) { return true; } if (slot < 0 || slot > NetItem.maxNetInventory) { return true; } var item = new Item(); item.netDefaults(type); item.Prefix(prefix); if (args.Player.IsLoggedIn) { if (TShock.Config.StoreInventory) TShock.Inventory.UpdateInventory(args.Player); } return false; }
public static void ReadChests(this BinaryReader reader, int x, int y) { int num = (int)reader.ReadInt32(); int num2 = (int)reader.ReadInt16(); TSPlayer.All.SendInfoMessage("Total Chests: {0}, Total Slots: {1}", num, num2); int num3; int num4; if (num2 < 40) { num3 = num2; num4 = 0; } else { num3 = 40; num4 = num2 - 40; } int i; for (i = 0; i < num; i++) { for (int c = 0; c < 1000; c++) { if (Main.chest[c] == null) { Chest chest = new Chest(false); chest.x = reader.ReadInt32() + x; chest.y = reader.ReadInt32() + y; chest.name = reader.ReadString(); TSPlayer.All.SendInfoMessage("Load: {0}x{1} Offset: {2}x{3}", chest.x, chest.y, chest.x - x, chest.y - y); for (int j = 0; j < num3; j++) { short num5 = reader.ReadInt16(); Item item = new Item(); if (num5 > 0) { item.netDefaults(reader.ReadInt16()); item.stack = (int)num5; item.Prefix((int)reader.ReadByte()); } else if (num5 < 0) { item.netDefaults(reader.ReadInt16()); item.Prefix((int)reader.ReadByte()); item.stack = 1; } chest.item[j] = item; } for (int j = 0; j < num4; j++) { short num5 = reader.ReadInt16(); if (num5 > 0) { reader.ReadInt16(); reader.ReadByte(); } } Main.chest[i] = chest; break; } } } TSPlayer.All.SendInfoMessage("{0} Chests Loaded.", num); }
private static void LoadChests(BinaryReader reader) { Chest chest = null; int num6; int num7; int num4 = reader.ReadInt16(); int num5 = reader.ReadInt16(); if (num5 < 40) { num6 = num5; num7 = 0; } else { num6 = 40; num7 = num5 - 40; } int index = 0; while (index < num4) { chest = new Chest(false) { x = reader.ReadInt32(), y = reader.ReadInt32(), name = reader.ReadString() }; int num3 = 0; while (num3 < num6) { short num = reader.ReadInt16(); Item item = new Item(); if (num > 0) { item.netDefaults(reader.ReadInt32()); item.stack = num; item.Prefix(reader.ReadByte()); } else if (num < 0) { item.netDefaults(reader.ReadInt32()); item.Prefix(reader.ReadByte()); item.stack = 1; } chest.item[num3] = item; num3++; } for (num3 = 0; num3 < num7; num3++) { if (reader.ReadInt16() > 0) { reader.ReadInt32(); reader.ReadByte(); } } Main.chest[index] = chest; index++; } while (index < 0x3e8) { Main.chest[index] = null; index++; } if (versionNumber < 0x73) { FixDresserChests(); } }
/// <summary>HackedInventory - Checks to see if a user has a hacked inventory. In addition, messages players the result.</summary> /// <param name="player">player - The TSPlayer object.</param> /// <returns>bool - True if the player has a hacked inventory.</returns> public static bool HackedInventory(TSPlayer player) { bool check = false; Item[] inventory = player.TPlayer.inventory; Item[] armor = player.TPlayer.armor; Item[] dye = player.TPlayer.dye; Item[] miscEquips = player.TPlayer.miscEquips; Item[] miscDyes = player.TPlayer.miscDyes; Item[] piggy = player.TPlayer.bank.item; Item[] safe = player.TPlayer.bank2.item; Item trash = player.TPlayer.trashItem; for (int i = 0; i < NetItem.MaxInventory; i++) { if (i < NetItem.InventorySlots) { //0-58 Item item = new Item(); if (inventory[i] != null && inventory[i].netID != 0) { item.netDefaults(inventory[i].netID); item.Prefix(inventory[i].prefix); item.AffixName(); if (inventory[i].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove item {0} ({1}) and then rejoin", item.name, inventory[i].stack), Color.Cyan); } } } else if (i < NetItem.InventorySlots + NetItem.ArmorSlots) { //59-78 Item item = new Item(); var index = i - NetItem.InventorySlots; if (armor[index] != null && armor[index].netID != 0) { item.netDefaults(armor[index].netID); item.Prefix(armor[index].prefix); item.AffixName(); if (armor[index].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove armor {0} ({1}) and then rejoin", item.name, armor[index].stack), Color.Cyan); } } } else if (i < NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots) { //79-88 Item item = new Item(); var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots); if (dye[index] != null && dye[index].netID != 0) { item.netDefaults(dye[index].netID); item.Prefix(dye[index].prefix); item.AffixName(); if (dye[index].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove dye {0} ({1}) and then rejoin", item.name, dye[index].stack), Color.Cyan); } } } else if (i < NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots) { //89-93 Item item = new Item(); var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots); if (miscEquips[index] != null && miscEquips[index].netID != 0) { item.netDefaults(miscEquips[index].netID); item.Prefix(miscEquips[index].prefix); item.AffixName(); if (miscEquips[index].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove item {0} ({1}) and then rejoin", item.name, miscEquips[index].stack), Color.Cyan); } } } else if (i < NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots) { //93-98 Item item = new Item(); var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots); if (miscDyes[index] != null && miscDyes[index].netID != 0) { item.netDefaults(miscDyes[index].netID); item.Prefix(miscDyes[index].prefix); item.AffixName(); if (miscDyes[index].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove item dye {0} ({1}) and then rejoin", item.name, miscDyes[index].stack), Color.Cyan); } } } else if (i < NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots + NetItem.PiggySlots) { //98-138 Item item = new Item(); var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots); if (piggy[index] != null && piggy[index].netID != 0) { item.netDefaults(piggy[index].netID); item.Prefix(piggy[index].prefix); item.AffixName(); if (piggy[index].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove Piggy-bank item {0} ({1}) and then rejoin", item.name, piggy[index].stack), Color.Cyan); } } } else if (i < NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots + NetItem.PiggySlots + NetItem.SafeSlots) { //138-178 Item item = new Item(); var index = i - (NetItem.InventorySlots + NetItem.ArmorSlots + NetItem.DyeSlots + NetItem.MiscEquipSlots + NetItem.MiscDyeSlots + NetItem.PiggySlots); if (safe[index] != null && safe[index].netID != 0) { item.netDefaults(safe[index].netID); item.Prefix(safe[index].prefix); item.AffixName(); if (safe[index].stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove Safe item {0} ({1}) and then rejoin", item.name, safe[index].stack), Color.Cyan); } } } else { Item item = new Item(); if (trash != null && trash.netID != 0) { item.netDefaults(trash.netID); item.Prefix(trash.prefix); item.AffixName(); if (trash.stack > item.maxStack) { check = true; player.SendMessage( String.Format("Stack cheat detected. Remove trash item {0} ({1}) and then rejoin", item.name, trash.stack), Color.Cyan); } } } } return check; }
private static bool HandlePlayerSlot(GetDataHandlerArgs args) { byte plr = args.Data.ReadInt8(); byte slot = args.Data.ReadInt8(); short stack = args.Data.ReadInt16(); byte prefix = args.Data.ReadInt8(); short type = args.Data.ReadInt16(); // Players send a slot update packet for each inventory slot right after they've joined. bool bypassTrashCanCheck = false; if (plr == args.Player.Index && !args.Player.HasSentInventory && slot == NetItem.MaxInventory) { args.Player.HasSentInventory = true; bypassTrashCanCheck = true; } if (OnPlayerSlot(plr, slot, stack, prefix, type) || plr != args.Player.Index || slot < 0 || slot > NetItem.MaxInventory) return true; if (args.Player.IgnoreSSCPackets) { args.Player.SendData(PacketTypes.PlayerSlot, "", args.Player.Index, slot, prefix); return true; } // Garabage? Or will it cause some internal initialization or whatever? var item = new Item(); item.netDefaults(type); item.Prefix(prefix); if (args.Player.IsLoggedIn) { args.Player.PlayerData.StoreSlot(slot, type, prefix, stack); } else if (Main.ServerSideCharacter && TShock.Config.DisableLoginBeforeJoin && !bypassTrashCanCheck && args.Player.HasSentInventory && !args.Player.Group.HasPermission(Permissions.bypassssc)) { // The player might have moved an item to their trash can before they performed a single login attempt yet. args.Player.IgnoreActionsForClearingTrashCan = true; } if (slot == 58) //this is the hand { item.stack = stack; args.Player.ItemInHand = item; } return false; }
/// <summary> /// Applies server config data to the player /// </summary> /// <param name="player"></param> public void ApplyToPlayer(Player player) { //player.male = this.Male; player.statMana = this.Mana; player.statLife = this.Health; player.statLifeMax = this.MaxHealth; player.SpawnX = this.SpawnX; player.SpawnY = this.SpawnY; player.hideVisual = this.HideVisual; player.hairDye = this.HairDye; player.hair = this.Hair; player.difficulty = this.Difficulty; player.hairColor = this.HairColor.ToXna(); player.skinColor = this.SkinColor.ToXna(); player.eyeColor = this.EyeColor.ToXna(); player.shirtColor = this.ShirtColor.ToXna(); player.underShirtColor = this.UnderShirtColor.ToXna(); player.pantsColor = this.PantsColor.ToXna(); player.shoeColor = this.ShoeColor.ToXna(); //Reset and populate inventory player.inventory = Enumerable.Repeat(new Item(), player.inventory.Length).ToArray(); foreach (var slotItem in this.Inventory) { var item = new Terraria.Item(); item.netDefaults(slotItem.NetId); item.stack = slotItem.Stack; item.Prefix(slotItem.Prefix); player.inventory[slotItem.Slot] = item; } //Reset and populate dye player.dye = Enumerable.Repeat(new Item(), player.dye.Length).ToArray(); foreach (var slotItem in this.Dye) { var item = new Terraria.Item(); item.netDefaults(slotItem.NetId); item.Prefix(slotItem.Prefix); player.dye[slotItem.Slot] = item; } //Reset and populate armor player.armor = Enumerable.Repeat(new Item(), player.armor.Length).ToArray(); foreach (var slotItem in this.Armor) { var item = new Terraria.Item(); item.netDefaults(slotItem.NetId); item.Prefix(slotItem.Prefix); player.armor[slotItem.Slot] = item; } //Update client this.Send(player); }
public static int PickItemMovementAction(Item[] inv, int context, int slot, Item checkItem) { Player player = Main.player[Main.myPlayer]; int num = -1; if (context == 0) num = 0; else if (context == 1) { if (checkItem.itemId == 0 || checkItem.itemId == 71 || (checkItem.itemId == 72 || checkItem.itemId == 73) || checkItem.itemId == 74) num = 0; } else if (context == 2) { if ((checkItem.itemId == 0 || checkItem.ammo > 0 || checkItem.bait > 0) && !checkItem.notAmmo || checkItem.itemId == 530) num = 0; } else if (context == 3) num = 0; else if (context == 4) num = 0; else if (context == 5) { if (checkItem.Prefix(-3) || checkItem.itemId == 0) num = 0; } else if (context == 6) num = 0; else if (context == 7) { if (checkItem.material || checkItem.itemId == 0) num = 0; } else if (context == 8) { if (checkItem.itemId == 0 || checkItem.headSlot > -1 && slot == 0 || (checkItem.bodySlot > -1 && slot == 1 || checkItem.legSlot > -1 && slot == 2)) num = 1; } else if (context == 9) { if (checkItem.itemId == 0 || checkItem.headSlot > -1 && slot == 10 || (checkItem.bodySlot > -1 && slot == 11 || checkItem.legSlot > -1 && slot == 12)) num = 1; } else if (context == 10) { if (checkItem.itemId == 0 || checkItem.accessory && !ItemSlot.AccCheck(checkItem, slot)) num = 1; } else if (context == 11) { if (checkItem.itemId == 0 || checkItem.accessory && !ItemSlot.AccCheck(checkItem, slot)) num = 1; } else if (context == 12) num = 2; else if (context == 15) { if (checkItem.itemId == 0 && inv[slot].itemId > 0) { if (player.BuyItem(inv[slot].value)) num = 3; } else if (inv[slot].itemId == 0 && checkItem.itemId > 0 && (checkItem.itemId < 71 || checkItem.itemId > 74)) num = 4; } else if (context == 16) { if (checkItem.itemId == 0 || Main.projHook[checkItem.shoot]) num = 1; } else if (context == 17) { if (checkItem.itemId == 0 || checkItem.mountType != -1 && !MountID.Sets.Cart[checkItem.mountType]) num = 1; } else if (context == 19) { if (checkItem.itemId == 0 || checkItem.buffType > 0 && Main.vanityPet[checkItem.buffType] && !Main.lightPet[checkItem.buffType]) num = 1; } else if (context == 18) { if (checkItem.itemId == 0 || checkItem.mountType != -1 && MountID.Sets.Cart[checkItem.mountType]) num = 1; } else if (context == 20 && (checkItem.itemId == 0 || checkItem.buffType > 0 && Main.lightPet[checkItem.buffType])) num = 1; return num; }
public static bool CheckInventory(TSPlayer player) { PlayerData playerData = player.PlayerData; bool check = true; if (player.TPlayer.statLifeMax > playerData.maxHealth) { player.SendMessage("Error: Your max health exceeded (" + playerData.maxHealth + ") which is stored on server", Color.Cyan); check = false; } Item[] inventory = player.TPlayer.inventory; Item[] armor = player.TPlayer.armor; for (int i = 0; i < NetItem.maxNetInventory; i++) { if (i < 49) { Item item = new Item(); Item serverItem = new Item(); if (inventory[i] != null && inventory[i].netID != 0) { if (playerData.inventory[i].netID != inventory[i].netID) { item.netDefaults(inventory[i].netID); item.Prefix(inventory[i].prefix); item.AffixName(); player.SendMessage(player.IgnoreActionsForInventory = "Your item (" + item.name + ") needs to be deleted.", Color.Cyan); check = false; } else if (playerData.inventory[i].prefix != inventory[i].prefix) { item.netDefaults(inventory[i].netID); item.Prefix(inventory[i].prefix); item.AffixName(); player.SendMessage(player.IgnoreActionsForInventory = "Your item (" + item.name + ") needs to be deleted.", Color.Cyan); check = false; } else if (inventory[i].stack > playerData.inventory[i].stack) { item.netDefaults(inventory[i].netID); item.Prefix(inventory[i].prefix); item.AffixName(); player.SendMessage( player.IgnoreActionsForInventory = "Your item (" + item.name + ") (" + inventory[i].stack + ") needs to have it's stack decreased to (" + playerData.inventory[i].stack + ").", Color.Cyan); check = false; } } } else { Item item = new Item(); Item serverItem = new Item(); if (armor[i - 48] != null && armor[i - 48].netID != 0) { if (playerData.inventory[i].netID != armor[i - 48].netID) { item.netDefaults(armor[i - 48].netID); item.Prefix(armor[i - 48].prefix); item.AffixName(); player.SendMessage(player.IgnoreActionsForInventory = "Your armor (" + item.name + ") needs to be deleted.", Color.Cyan); check = false; } else if (playerData.inventory[i].prefix != armor[i - 48].prefix) { item.netDefaults(armor[i - 48].netID); item.Prefix(armor[i - 48].prefix); item.AffixName(); player.SendMessage(player.IgnoreActionsForInventory = "Your armor (" + item.name + ") needs to be deleted.", Color.Cyan); check = false; } else if (armor[i - 48].stack > playerData.inventory[i].stack) { item.netDefaults(armor[i - 48].netID); item.Prefix(armor[i - 48].prefix); item.AffixName(); player.SendMessage( player.IgnoreActionsForInventory = "Your armor (" + item.name + ") (" + inventory[i].stack + ") needs to have it's stack decreased to (" + playerData.inventory[i].stack + ").", Color.Cyan); check = false; } } } } return check; }
/// <summary> /// Applies server config data to the player /// </summary> /// <param name="player"></param> public void ApplyToPlayer(Player player) { //player.male = this.Male; player.statMana = this.Mana; player.statLife = this.Health; player.statLifeMax = this.MaxHealth; player.SpawnX = this.SpawnX; player.SpawnY = this.SpawnY; player.hideVisual = this.HideVisual; player.hairDye = this.HairDye; player.hair = this.Hair; player.difficulty = this.Difficulty; player.hairColor = this.HairColor.ToXna(); player.skinColor = this.SkinColor.ToXna(); player.eyeColor = this.EyeColor.ToXna(); player.shirtColor = this.ShirtColor.ToXna(); player.underShirtColor = this.UnderShirtColor.ToXna(); player.pantsColor = this.PantsColor.ToXna(); player.shoeColor = this.ShoeColor.ToXna(); //Reset and populate inventory player.inventory = Enumerable.Repeat(new Item(), player.inventory.Length).ToArray(); foreach (var slotItem in this.Inventory) { var item = new Terraria.Item(); item.netDefaults(slotItem.NetId); item.stack = slotItem.Stack; item.Prefix(slotItem.Prefix); player.inventory[slotItem.Slot] = item; } //Reset and populate dye player.dye = Enumerable.Repeat(new Item(), player.dye.Length).ToArray(); foreach (var slotItem in this.Dye) { var item = new Terraria.Item(); item.netDefaults(slotItem.NetId); item.Prefix(slotItem.Prefix); player.dye[slotItem.Slot] = item; } //Reset and populate armor player.armor = Enumerable.Repeat(new Item(), player.armor.Length).ToArray(); foreach (var slotItem in this.Armor) { var item = new Terraria.Item(); item.netDefaults(slotItem.NetId); item.Prefix(slotItem.Prefix); player.armor[slotItem.Slot] = item; } //Update client this.Send(player); }
public static void KillTile(int i, int j, bool fail = false, bool effectOnly = false, bool noItem = false) { if (i >= 0 && j >= 0 && i < Main.maxTilesX && j < Main.maxTilesY) { Tile tile = Main.tile[i, j]; if (tile == null) { tile = new Tile(); Main.tile[i, j] = tile; } if (tile.active()) { if (j >= 1 && Main.tile[i, j - 1] == null) { Main.tile[i, j - 1] = new Tile(); } if (j >= 1 && Main.tile[i, j - 1].active() && ((Main.tile[i, j - 1].type == 5 && tile.type != 5) || (Main.tile[i, j - 1].type == 323 && tile.type != 323) || (Main.tile[i, j - 1].type == 21 && tile.type != 21) || (Main.tile[i, j - 1].type == 26 && tile.type != 26) || (Main.tile[i, j - 1].type == 72 && tile.type != 72) || (Main.tile[i, j - 1].type == 12 && tile.type != 12))) { if (Main.tile[i, j - 1].type == 5) { if ((Main.tile[i, j - 1].frameX != 66 || Main.tile[i, j - 1].frameY < 0 || Main.tile[i, j - 1].frameY > 44) && (Main.tile[i, j - 1].frameX != 88 || Main.tile[i, j - 1].frameY < 66 || Main.tile[i, j - 1].frameY > 110) && Main.tile[i, j - 1].frameY < 198) { return; } } else { if (Main.tile[i, j - 1].type != 323 || Main.tile[i, j - 1].frameX == 66 || Main.tile[i, j - 1].frameX == 220) { return; } } } if (tile.type == 10 && tile.frameY >= 594 && tile.frameY <= 646) { fail = true; } if (tile.type == 138) { fail = WorldGen.CheckBoulderChest(i, j); } if (tile.type == 235) { int frameX = (int)tile.frameX; int num = i - frameX % 54 / 18; for (int k = 0; k < 3; k++) { if (Main.tile[num + k, j - 1].active() && Main.tile[num + k, j - 1].type == 21) { fail = true; break; } } } if (!effectOnly && !WorldGen.stopDrops) { if (tile.type == 127) { Main.PlaySound(2, i * 16, j * 16, 27); } else { if (tile.type == 147 || tile.type == 224) { Main.PlaySound(2, i * 16, j * 16, WorldGen.genRand.Next(48, 50)); } else { if (tile.type == 161 || tile.type == 163 || tile.type == 164 || tile.type == 200) { Main.PlaySound(2, i * 16, j * 16, 50); } else { if (tile.type == 3 || tile.type == 110) { Main.PlaySound(6, i * 16, j * 16, 1); if (tile.frameX == 144) { Item.NewItem(i * 16, j * 16, 16, 16, 5, 1, false, 0, false); } } else { if (tile.type == 254) { Main.PlaySound(6, i * 16, j * 16, 1); } else { if (tile.type == 24) { Main.PlaySound(6, i * 16, j * 16, 1); if (tile.frameX == 144) { Item.NewItem(i * 16, j * 16, 16, 16, 60, 1, false, 0, false); } } else { if (Main.tileAlch[(int)tile.type] || tile.type == 32 || tile.type == 51 || tile.type == 52 || tile.type == 61 || tile.type == 62 || tile.type == 69 || tile.type == 71 || tile.type == 73 || tile.type == 74 || tile.type == 113 || tile.type == 115 || tile.type == 184 || tile.type == 192 || tile.type == 205 || tile.type == 233) { Main.PlaySound(6, i * 16, j * 16, 1); } else { if (tile.type == 201) { Main.PlaySound(6, i * 16, j * 16, 1); } else { if (tile.type == 1 || tile.type == 6 || tile.type == 7 || tile.type == 8 || tile.type == 9 || tile.type == 22 || tile.type == 140 || tile.type == 25 || tile.type == 37 || tile.type == 38 || tile.type == 39 || tile.type == 41 || tile.type == 43 || tile.type == 44 || tile.type == 45 || tile.type == 46 || tile.type == 47 || tile.type == 48 || tile.type == 56 || tile.type == 58 || tile.type == 63 || tile.type == 64 || tile.type == 65 || tile.type == 66 || tile.type == 67 || tile.type == 68 || tile.type == 75 || tile.type == 76 || tile.type == 107 || tile.type == 108 || tile.type == 111 || tile.type == 117 || tile.type == 118 || tile.type == 119 || tile.type == 120 || tile.type == 121 || tile.type == 122 || tile.type == 150 || tile.type == 151 || tile.type == 152 || tile.type == 153 || tile.type == 154 || tile.type == 155 || tile.type == 156 || tile.type == 160 || tile.type == 161 || tile.type == 166 || tile.type == 167 || tile.type == 168 || tile.type == 169 || tile.type == 175 || tile.type == 176 || tile.type == 177 || tile.type == 203 || tile.type == 202 || tile.type == 204 || tile.type == 206 || tile.type == 211 || tile.type == 221 || tile.type == 222 || tile.type == 223 || tile.type == 226 || tile.type == 248 || tile.type == 249 || tile.type == 250 || tile.type == 272 || tile.type == 273 || tile.type == 274 || tile.type == 284 || tile.type == 325) { Main.PlaySound(21, i * 16, j * 16, 1); } else { if (tile.type == 231 || tile.type == 195) { Main.PlaySound(4, i * 16, j * 16, 1); } else { if (tile.type == 26 && tile.frameX >= 54) { Main.PlaySound(4, i * 16, j * 16, 1); } else { if (tile.type == 314) { Main.PlaySound(2, i * 16, j * 16, 52); } else { if (tile.type >= 330 && tile.type <= 333) { Main.PlaySound(18, i * 16, j * 16, 1); } else { if (tile.type != 138) { Main.PlaySound(0, i * 16, j * 16, 1); } } } } } } } } } } } } } } if ((tile.type == 162 || tile.type == 129 || (tile.type == 165 && tile.frameX < 54)) && !fail) { Main.PlaySound(2, i * 16, j * 16, 27); } } int num2 = 10; if (tile.type == 231) { num2 = 6; } if (tile.type == 128 || tile.type == 269) { int num3 = i; int l = (int)tile.frameX; int m; for (m = (int)tile.frameX; m >= 100; m -= 100) { } while (m >= 36) { m -= 36; } if (m == 18) { l = (int)Main.tile[i - 1, j].frameX; num3--; } if (l >= 100) { int num4 = 0; while (l >= 100) { l -= 100; num4++; } int num5 = (int)(Main.tile[num3, j].frameY / 18); if (num5 == 0) { Item.NewItem(i * 16, j * 16, 16, 16, Item.headType[num4], 1, false, 0, false); } if (num5 == 1) { Item.NewItem(i * 16, j * 16, 16, 16, Item.bodyType[num4], 1, false, 0, false); } if (num5 == 2) { Item.NewItem(i * 16, j * 16, 16, 16, Item.legType[num4], 1, false, 0, false); } for (l = (int)Main.tile[num3, j].frameX; l >= 100; l -= 100) { } Main.tile[num3, j].frameX = (short)l; } } if (tile.type == 334) { int num6 = i; int n = (int)tile.frameX; int num7 = (int)tile.frameX; int num8 = 0; while (num7 >= 5000) { num7 -= 5000; num8++; } if (num8 != 0) { num7 = (num8 - 1) * 18; } num7 %= 54; if (num7 == 18) { n = (int)Main.tile[i - 1, j].frameX; num6--; } if (num7 == 36) { n = (int)Main.tile[i - 2, j].frameX; num6 -= 2; } if (n >= 5000) { int num9 = n % 5000; num9 -= 100; int num10 = (int)Main.tile[num6 + 1, j].frameX; if (num10 >= 25000) { num10 -= 25000; } else { num10 -= 10000; } if (Main.netMode != 1) { Item item = new Item(); item.netDefaults(num9); item.Prefix(num10); int num11 = Item.NewItem(i * 16, j * 16, 16, 16, num9, 1, true, 0, false); item.position = Main.item[num11].position; Main.item[num11] = item; NetMessage.SendData(21, -1, -1, "", num11, 0f, 0f, 0f, 0); } n = (int)Main.tile[num6, j].frameX; int num12 = 0; while (n >= 5000) { n -= 5000; num12++; } if (num12 != 0) { n = (num12 - 1) * 18; } Main.tile[num6, j].frameX = (short)n; Main.tile[num6 + 1, j].frameX = (short)(n + 18); } } if (fail) { num2 = 3; } if (tile.type == 138) { num2 = 0; } if (tile.type >= 300 && tile.type <= 308) { num2 = 0; } if (tile.type == 125) { num2 = 0; } if (tile.type == 287) { num2 = 0; } int num13 = 0; while (num13 < num2) { int num14 = 0; if (tile.type == 216) { num14 = -1; } if (tile.type == 335) { num14 = -1; } if (tile.type == 338) { num14 = -1; } if (tile.type == 0) { num14 = 0; } if (tile.type == 192) { num14 = 3; } if (tile.type == 208) { num14 = 126; } if (tile.type == 16) { num14 = 1; if (tile.frameX >= 36) { num14 = 82; } } if (tile.type == 1 || tile.type == 17 || tile.type == 38 || tile.type == 39 || tile.type == 41 || tile.type == 43 || tile.type == 44 || tile.type == 48 || Main.tileStone[(int)tile.type] || tile.type == 85 || tile.type == 90 || tile.type == 92 || tile.type == 96 || tile.type == 97 || tile.type == 99 || tile.type == 117 || tile.type == 130 || tile.type == 131 || tile.type == 132 || tile.type == 135 || tile.type == 135 || tile.type == 142 || tile.type == 143 || tile.type == 144 || tile.type == 210 || tile.type == 207 || tile.type == 235 || tile.type == 247 || tile.type == 272 || tile.type == 273 || tile.type == 283) { num14 = 1; } if (tile.type == 311) { num14 = 207; } if (tile.type == 312) { num14 = 208; } if (tile.type == 313) { num14 = 209; } if (tile.type == 104) { num14 = -1; } if (tile.type == 95 || tile.type == 98 || tile.type == 100 || tile.type == 174 || tile.type == 173) { num14 = 6; } if (tile.type == 30 || tile.type == 86 || tile.type == 94 || tile.type == 106 || tile.type == 114 || tile.type == 124 || tile.type == 128 || tile.type == 269) { num14 = 7; } if (tile.type == 334) { num14 = 7; } ushort type = tile.type; if (type <= 89) { switch (type) { case 10: case 11: goto IL_1144; default: switch (type) { case 87: case 89: goto IL_1144; } break; } } else { if (type == 93 || type == 139) { goto IL_1144; } switch (type) { case 319: case 320: goto IL_1144; } } IL_1147: if (tile.type == 240) { int num15 = (int)(tile.frameX / 54); if (tile.frameY >= 54) { num15 += 36; } num14 = 7; if (num15 == 16 || num15 == 17) { num14 = 26; } if (num15 >= 46 && num15 <= 49) { num14 = -1; } } if (tile.type == 241) { num14 = 1; } if (tile.type == 242) { num14 = -1; } if (tile.type == 246) { num14 = -1; } if (tile.type == 36) { num14 = -1; } if (tile.type == 170) { num14 = 196; } if (tile.type == 315) { num14 = 225; } if (tile.type == 171) { if (Main.rand.Next(2) == 0) { num14 = 196; } else { num14 = -1; } } if (tile.type == 326) { num14 = 13; } if (tile.type == 327) { num14 = 13; } if (tile.type == 336) { num14 = 6; } if (tile.type == 328) { num14 = 13; } if (tile.type == 329) { num14 = 13; } if (tile.type == 330) { num14 = 9; } if (tile.type == 331) { num14 = 11; } if (tile.type == 332) { num14 = 19; } if (tile.type == 333) { num14 = 11; } if (tile.type == 101) { num14 = -1; } if (tile.type == 19) { int num16 = (int)(tile.frameY / 18); if (num16 == 0 || num16 == 9 || num16 == 10 || num16 == 11 || num16 == 12) { num14 = 7; } else { if (num16 == 1) { num14 = 77; } else { if (num16 == 2) { num14 = 78; } else { if (num16 == 3) { num14 = 79; } else { if (num16 == 4) { num14 = 26; } else { if (num16 == 5) { num14 = 126; } else { if (num16 == 13) { num14 = 109; } else { if (num16 == 14) { num14 = 13; } else { if (num16 >= 15 || num16 <= 16) { num14 = -1; } else { if (num16 == 17) { num14 = 215; } else { if (num16 == 18) { num14 = 214; } else { num14 = 1; } } } } } } } } } } } } if (tile.type == 79) { int num17 = (int)(tile.frameY / 36); if (num17 == 0) { num14 = 7; } else { if (num17 == 1) { num14 = 77; } else { if (num17 == 2) { num14 = 78; } else { if (num17 == 3) { num14 = 79; } else { if (num17 == 4) { num14 = 126; } else { if (num17 == 8) { num14 = 109; } else { if (num17 >= 9) { num14 = -1; } else { num14 = 1; } } } } } } } } if (tile.type == 18) { int num18 = (int)(tile.frameX / 36); if (num18 == 0) { num14 = 7; } else { if (num18 == 1) { num14 = 77; } else { if (num18 == 2) { num14 = 78; } else { if (num18 == 3) { num14 = 79; } else { if (num18 == 4) { num14 = 26; } else { if (num18 == 5) { num14 = 40; } else { if (num18 == 6) { num14 = 5; } else { if (num18 == 7) { num14 = 26; } else { if (num18 == 8) { num14 = 4; } else { if (num18 == 9) { num14 = 126; } else { if (num18 == 10) { num14 = 148; } else { if (num18 == 11 || num18 == 12 || num18 == 13) { num14 = 1; } else { if (num18 == 14) { num14 = 109; } else { if (num18 == 15) { num14 = 126; } else { num14 = -1; } } } } } } } } } } } } } } } if (tile.type == 14 || tile.type == 87 || tile.type == 88) { num14 = -1; } if (tile.type >= 255 && tile.type <= 261) { int num19 = (int)(tile.type - 255); num14 = 86 + num19; if (num19 == 6) { num14 = 138; } } if (tile.type >= 262 && tile.type <= 268) { int num20 = (int)(tile.type - 262); num14 = 86 + num20; if (num20 == 6) { num14 = 138; } } if (tile.type == 178) { int num21 = (int)(tile.frameX / 18); num14 = 86 + num21; if (num21 == 6) { num14 = 138; } } if (tile.type == 186) { if (tile.frameX <= 360) { num14 = 26; } else { if (tile.frameX <= 846) { num14 = 1; } else { if (tile.frameX <= 954) { num14 = 9; } else { if (tile.frameX <= 1062) { num14 = 11; } else { if (tile.frameX <= 1170) { num14 = 10; } else { if (tile.frameX <= 1332) { num14 = 0; } else { if (tile.frameX <= 1386) { num14 = 10; } else { num14 = 80; } } } } } } } } if (tile.type == 187) { if (tile.frameX <= 144) { num14 = 1; } else { if (tile.frameX <= 306) { num14 = 38; } else { if (tile.frameX <= 468) { num14 = 36; } else { if (tile.frameX <= 738) { num14 = 30; } else { if (tile.frameX <= 970) { num14 = 1; } else { if (tile.frameX <= 1132) { num14 = 148; } else { if (tile.frameX <= 1132) { num14 = 155; } else { if (tile.frameX <= 1348) { num14 = 1; } else { if (tile.frameX <= 1564) { num14 = 0; } } } } } } } } } } if (tile.type == 105) { num14 = 1; if (tile.frameX >= 1548 && tile.frameX <= 1654) { num14 = 148; } } if (tile.type == 337) { num14 = 1; } if (tile.type == 239) { int num22 = (int)(tile.frameX / 18); if (num22 == 0) { num14 = 9; } if (num22 == 1) { num14 = 81; } if (num22 == 2) { num14 = 8; } if (num22 == 3) { num14 = 82; } if (num22 == 4) { num14 = 11; } if (num22 == 5) { num14 = 83; } if (num22 == 6) { num14 = 10; } if (num22 == 7) { num14 = 84; } if (num22 == 8) { num14 = 14; } if (num22 == 9) { num14 = 23; } if (num22 == 10) { num14 = 25; } if (num22 == 11) { num14 = 48; } if (num22 == 12) { num14 = 144; } if (num22 == 13) { num14 = 49; } if (num22 == 14) { num14 = 145; } if (num22 == 15) { num14 = 50; } if (num22 == 16) { num14 = 146; } if (num22 == 17) { num14 = 128; } if (num22 == 18) { num14 = 84; } if (num22 == 19) { num14 = 117; } if (num22 == 20) { num14 = 26; } } if (tile.type == 185) { if (tile.frameY == 18) { int num23 = (int)(tile.frameX / 36); if (num23 < 6) { num14 = 1; } else { if (num23 < 16) { num14 = 26; } else { if (num23 == 16) { num14 = 9; } else { if (num23 == 17) { num14 = 11; } else { if (num23 == 18) { num14 = 10; } else { if (num23 == 19) { num14 = 86; } else { if (num23 == 20) { num14 = 87; } else { if (num23 == 21) { num14 = 88; } else { if (num23 == 22) { num14 = 89; } else { if (num23 == 23) { num14 = 90; } else { if (num23 == 24) { num14 = 91; } else { if (num23 < 31) { num14 = 80; } else { if (num23 < 33) { num14 = 7; } else { if (num23 < 34) { num14 = 8; } else { if (num23 < 39) { num14 = 30; } else { if (num23 < 42) { num14 = 1; } } } } } } } } } } } } } } } } } else { int num24 = (int)(tile.frameX / 18); if (num24 < 6) { num14 = 1; } else { if (num24 < 12) { num14 = 0; } else { if (num24 < 27) { num14 = 26; } else { if (num24 < 32) { num14 = 1; } else { if (num24 < 35) { num14 = 0; } else { if (num24 < 46) { num14 = 80; } else { if (num24 < 52) { num14 = 30; } } } } } } } } } if (tile.type == 184) { int num25 = (int)(tile.frameX / 22); num14 = 93 + num25; } if (tile.type == 237) { num14 = 148; } if (tile.type == 157) { num14 = 77; } if (tile.type == 158 || tile.type == 232) { num14 = 78; } if (tile.type == 159) { num14 = 78; } if (tile.type == 15) { num14 = -1; } if (tile.type == 191) { num14 = 7; } if (tile.type == 5) { num14 = 7; if (i > 5 && i < Main.maxTilesX - 5) { int num26 = i; int num27 = j; if (tile.frameX == 66 && tile.frameY <= 45) { num26++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num26--; } if (tile.frameX == 22 && tile.frameY >= 132 && tile.frameY <= 176) { num26--; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num26++; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num26++; } if (tile.frameX == 44 && tile.frameY >= 198) { num26++; } if (tile.frameX == 66 && tile.frameY >= 198) { num26--; } while (Main.tile[num26, num27] != null && (!Main.tile[num26, num27].active() || !Main.tileSolid[(int)Main.tile[num26, num27].type])) { num27++; } if (Main.tile[num26, num27] != null) { if (Main.tile[num26, num27].active() && Main.tile[num26, num27].type == 23) { num14 = 77; } if (Main.tile[num26, num27].active() && Main.tile[num26, num27].type == 60) { num14 = 78; } if (Main.tile[num26, num27].active() && Main.tile[num26, num27].type == 70) { num14 = 26; } if (Main.tile[num26, num27].active() && Main.tile[num26, num27].type == 109) { num14 = 79; } if (Main.tile[num26, num27].active() && Main.tile[num26, num27].type == 199) { num14 = 121; } if (Main.tile[num26, num27].active() && Main.tile[num26, num27].type == 147) { num14 = 122; } } } } if (tile.type == 323) { num14 = 215; if (i > 5 && i < Main.maxTilesX - 5) { int num28 = j; while (Main.tile[i, num28] != null && (!Main.tile[i, num28].active() || !Main.tileSolid[(int)Main.tile[i, num28].type])) { num28++; } if (Main.tile[i, num28] != null) { if (Main.tile[i, num28].active() && Main.tile[i, num28].type == 234) { num14 = 121; } if (Main.tile[i, num28].active() && Main.tile[i, num28].type == 116) { num14 = 79; } if (Main.tile[i, num28].active() && Main.tile[i, num28].type == 112) { num14 = 77; } } } } if (tile.type == 137) { num14 = 1; int num29 = (int)(tile.frameY / 18); if (num29 > 0) { num14 = 148; } } if (tile.type == 212) { num14 = -1; } if (tile.type == 213) { num14 = 129; } if (tile.type == 214) { num14 = 1; } if (tile.type == 215) { num14 = 6; } if (tile.type == 325) { num14 = 81; } if (tile.type == 251) { num14 = 189; } if (tile.type == 252) { num14 = 190; } if (tile.type == 253) { num14 = 191; } if (tile.type == 254) { if (tile.frameX < 72) { num14 = 3; } else { if (tile.frameX < 108) { num14 = 3; if (Main.rand.Next(3) == 0) { num14 = 189; } } else { if (tile.frameX < 144) { num14 = 3; if (Main.rand.Next(2) == 0) { num14 = 189; } } else { num14 = 3; if (Main.rand.Next(4) != 0) { num14 = 189; } } } } } if (tile.type == 21) { if (tile.frameX >= 1008) { num14 = -1; } else { if (tile.frameX >= 612) { num14 = 11; } else { if (tile.frameX >= 576) { num14 = 148; } else { if (tile.frameX >= 540) { num14 = 26; } else { if (tile.frameX >= 504) { num14 = 126; } else { if (tile.frameX >= 468) { num14 = 116; } else { if (tile.frameX >= 432) { num14 = 7; } else { if (tile.frameX >= 396) { num14 = 11; } else { if (tile.frameX >= 360) { num14 = 10; } else { if (tile.frameX >= 324) { num14 = 79; } else { if (tile.frameX >= 288) { num14 = 78; } else { if (tile.frameX >= 252) { num14 = 77; } else { if (tile.frameX >= 216) { num14 = 1; } else { if (tile.frameX >= 180) { num14 = 7; } else { if (tile.frameX >= 108) { num14 = 37; } else { if (tile.frameX >= 36) { num14 = 10; } else { num14 = 7; } } } } } } } } } } } } } } } } } if (tile.type == 2) { if (WorldGen.genRand.Next(2) == 0) { num14 = 0; } else { num14 = 2; } } if (Main.tileMoss[(int)tile.type]) { num14 = (int)(tile.type - 179 + 93); } if (tile.type == 127) { num14 = 67; } if (tile.type == 91) { num14 = -1; } if (tile.type == 198) { num14 = 109; } if (tile.type == 26) { if (tile.frameX >= 54) { num14 = 5; } else { num14 = 8; } } if (tile.type == 34) { num14 = -1; } if (tile.type == 6) { num14 = 8; } if (tile.type == 7 || tile.type == 47 || tile.type == 284) { num14 = 9; } if (tile.type == 8 || tile.type == 45 || tile.type == 102) { num14 = 10; } if (tile.type == 9 || tile.type == 42 || tile.type == 46 || tile.type == 126 || tile.type == 136) { num14 = 11; } if (tile.type == 166 || tile.type == 175) { num14 = 81; } if (tile.type == 167) { num14 = 82; } if (tile.type == 168 || tile.type == 176) { num14 = 83; } if (tile.type == 169 || tile.type == 177) { num14 = 84; } if (tile.type == 199) { num14 = 117; } if (tile.type == 205) { num14 = 125; } if (tile.type == 201) { num14 = 125; } if (tile.type == 211) { num14 = 128; } if (tile.type == 227) { int num30 = (int)(tile.frameX / 34); if (num30 == 0 || num30 == 1) { num14 = 26; } else { if (num30 == 3) { num14 = 3; } else { if (num30 == 2 || num30 == 4 || num30 == 5 || num30 == 6) { num14 = 40; } else { if (num30 == 7) { num14 = 117; } } } } } if (tile.type == 204) { num14 = 117; if (WorldGen.genRand.Next(2) == 0) { num14 = 1; } } if (tile.type == 203) { num14 = 117; } if (tile.type == 243) { if (Main.rand.Next(2) == 0) { num14 = 7; } else { num14 = 13; } } if (tile.type == 244) { if (Main.rand.Next(2) == 0) { num14 = 1; } else { num14 = 13; } } else { if ((tile.type >= 275 && tile.type <= 282) || (tile.type == 285 || tile.type == 286 || (tile.type >= 288 && tile.type <= 297)) || (tile.type >= 316 && tile.type <= 318) || tile.type == 298 || tile.type == 299 || tile.type == 309 || tile.type == 310 || tile.type == 339) { num14 = 13; if (Main.rand.Next(3) != 0) { num14 = -1; } } } if (tile.type == 13) { if (tile.frameX >= 90) { num14 = -1; } else { num14 = 13; } } if (tile.type == 189) { num14 = 16; } if (tile.type == 12) { num14 = 12; } if (tile.type == 3 || tile.type == 73) { num14 = 3; } if (tile.type == 54) { num14 = 13; } if (tile.type == 22 || tile.type == 140) { num14 = 14; } if (tile.type == 78) { num14 = 22; } if (tile.type == 28) { num14 = 22; if (tile.frameY >= 72 && tile.frameY <= 90) { num14 = 1; } if (tile.frameY >= 144 && tile.frameY <= 234) { num14 = 48; } if (tile.frameY >= 252 && tile.frameY <= 358) { num14 = 85; } if (tile.frameY >= 360 && tile.frameY <= 466) { num14 = 26; } if (tile.frameY >= 468 && tile.frameY <= 574) { num14 = 36; } if (tile.frameY >= 576 && tile.frameY <= 790) { num14 = 18; } if (tile.frameY >= 792 && tile.frameY <= 898) { num14 = 5; } if (tile.frameY >= 900 && tile.frameY <= 1006) { num14 = 0; } if (tile.frameY >= 1008 && tile.frameY <= 1114) { num14 = 148; } } if (tile.type == 163) { num14 = 118; } if (tile.type == 164) { num14 = 119; } if (tile.type == 200) { num14 = 120; } if (tile.type == 221 || tile.type == 248) { num14 = 144; } if (tile.type == 222 || tile.type == 249) { num14 = 145; } if (tile.type == 223 || tile.type == 250) { num14 = 146; } if (tile.type == 224) { num14 = 149; } if (tile.type == 225) { num14 = 147; } if (tile.type == 229) { num14 = 153; } if (tile.type == 231) { num14 = 153; if (Main.rand.Next(3) == 0) { num14 = 26; } } if (tile.type == 226) { num14 = 148; } if (tile.type == 103) { num14 = -1; } if (tile.type == 29) { num14 = 23; } if (tile.type == 40) { num14 = 28; } if (tile.type == 49) { num14 = 29; } if (tile.type == 50) { num14 = 22; } if (tile.type == 51) { num14 = 30; } if (tile.type == 52) { num14 = 3; } if (tile.type == 53 || tile.type == 81 || tile.type == 151 || tile.type == 202 || tile.type == 274) { num14 = 32; } if (tile.type == 56 || tile.type == 152) { num14 = 37; } if (tile.type == 75) { num14 = 109; } if (tile.type == 57 || tile.type == 119 || tile.type == 141 || tile.type == 234) { num14 = 36; } if (tile.type == 59 || tile.type == 120) { num14 = 38; } if (tile.type == 61 || tile.type == 62 || tile.type == 74 || tile.type == 80 || tile.type == 188 || tile.type == 233 || tile.type == 236) { num14 = 40; } if (tile.type == 238) { if (WorldGen.genRand.Next(3) == 0) { num14 = 167; } else { num14 = 166; } } if (tile.type == 69) { num14 = 7; } if (tile.type == 71 || tile.type == 72 || tile.type == 190) { num14 = 26; } if (tile.type == 70) { num14 = 17; } if (tile.type == 112) { num14 = 14; } if (tile.type == 123) { num14 = 53; } if (tile.type == 161) { num14 = 80; } if (tile.type == 206) { num14 = 80; } if (tile.type == 162) { num14 = 80; } if (tile.type == 165) { if (tile.frameX < 54) { num14 = 80; } else { if (tile.frameX >= 324) { num14 = 117; } else { if (tile.frameX >= 270) { num14 = 14; } else { if (tile.frameX >= 216) { num14 = 1; } else { if (tile.frameX >= 162) { num14 = 147; } else { if (tile.frameX >= 108) { num14 = 30; } else { num14 = 1; } } } } } } } if (tile.type == 193) { num14 = 4; } if (tile.type == 194) { num14 = 26; } if (tile.type == 195) { num14 = 5; } if (tile.type == 196) { num14 = 108; } if (tile.type == 197) { num14 = 4; } if (tile.type == 153) { num14 = 26; } if (tile.type == 154) { num14 = 32; } if (tile.type == 155) { num14 = 2; } if (tile.type == 156) { num14 = 1; } if (tile.type == 116 || tile.type == 118 || tile.type == 147 || tile.type == 148) { num14 = 51; } if (tile.type == 109) { if (WorldGen.genRand.Next(2) == 0) { num14 = 0; } else { num14 = 47; } } if (tile.type == 110 || tile.type == 113 || tile.type == 115) { num14 = 47; } if (tile.type == 107 || tile.type == 121) { num14 = 48; } if (tile.type == 108 || tile.type == 122 || tile.type == 146) { num14 = 49; } if (tile.type == 111 || tile.type == 145 || tile.type == 150) { num14 = 50; } if (tile.type == 133) { num14 = 50; if (tile.frameX >= 54) { num14 = 146; } } if (tile.type == 134) { num14 = 49; if (tile.frameX >= 36) { num14 = 145; } } if (tile.type == 149) { num14 = 49; } if (Main.tileAlch[(int)tile.type]) { int num31 = (int)(tile.frameX / 18); if (num31 == 0) { num14 = 3; } if (num31 == 1) { num14 = 3; } if (num31 == 2) { num14 = 7; } if (num31 == 3) { num14 = 17; } if (num31 == 4) { num14 = 3; } if (num31 == 5) { num14 = 6; } if (num31 == 6) { num14 = 224; } } if (tile.type == 58 || tile.type == 76 || tile.type == 77) { if (WorldGen.genRand.Next(2) == 0) { num14 = 6; } else { num14 = 25; } } if (tile.type == 37) { if (WorldGen.genRand.Next(2) == 0) { num14 = 6; } else { num14 = 23; } } if (tile.type == 32) { if (WorldGen.genRand.Next(2) == 0) { num14 = 14; } else { num14 = 24; } } if (tile.type == 23 || tile.type == 24) { if (WorldGen.genRand.Next(2) == 0) { num14 = 14; } else { num14 = 17; } } if (tile.type == 25 || tile.type == 31) { if (tile.type == 31 && tile.frameX >= 36) { num14 = 5; } else { if (WorldGen.genRand.Next(2) == 0) { num14 = 14; } else { num14 = 1; } } } if (tile.type == 20) { int num32 = (int)(tile.frameX / 54); if (num32 == 1) { num14 = 122; } else { if (num32 == 2) { num14 = 78; } else { if (num32 == 3) { num14 = 77; } else { if (num32 == 4) { num14 = 121; } else { if (num32 == 5) { num14 = 79; } else { num14 = 7; } } } } } } if (tile.type == 27) { if (WorldGen.genRand.Next(2) == 0) { num14 = 3; } else { num14 = 19; } } if (tile.type == 129) { if (tile.frameX == 0 || tile.frameX == 54 || tile.frameX == 108) { num14 = 68; } else { if (tile.frameX == 18 || tile.frameX == 72 || tile.frameX == 126) { num14 = 69; } else { num14 = 70; } } } if (tile.type == 4) { int num33 = (int)(tile.frameY / 22); if (num33 == 0) { num14 = 6; } else { if (num33 == 8) { num14 = 75; } else { if (num33 == 9) { num14 = 135; } else { if (num33 == 10) { num14 = 158; } else { if (num33 == 11) { num14 = 169; } else { if (num33 == 12) { num14 = 156; } else { num14 = 58 + num33; } } } } } } } if (tile.type == 35) { num14 = 189; if (tile.frameX < 36 && WorldGen.genRand.Next(2) == 0) { num14 = 6; } } if ((tile.type == 34 || tile.type == 42) && Main.rand.Next(2) == 0) { num14 = 6; } if (tile.type == 270) { num14 = -1; } if (tile.type == 271) { num14 = -1; } if (tile.type == 79 || tile.type == 90 || tile.type == 101) { num14 = -1; } if (tile.type == 33 || tile.type == 34 || tile.type == 42 || tile.type == 93 || tile.type == 100) { num14 = -1; } if (tile.type == 321) { num14 = 214; } if (tile.type == 322) { num14 = 215; } if (num14 >= 0) { if (tile.type == 160) { int num34 = Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, 66, 0f, 0f, 100, new Color(Main.DiscoR, Main.DiscoG, Main.DiscoB), 0.75f); Main.dust[num34].noGravity = true; } else { if (tile.type == 323) { int frameY = (int)tile.frameY; Dust.NewDust(new Vector2((float)(i * 16 + frameY), (float)(j * 16)), 16, 16, num14, 0f, 0f, 0, default(Color), 1f); } else { if (tile.type == 314) { int num35 = Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, 213, (float)Main.rand.Next(-2, 3), (float)Main.rand.Next(-2, 3), 0, default(Color), 1f); Main.dust[num35].noGravity = true; Main.dust[num35].fadeIn = Main.dust[num35].scale + 1f + 0.01f * (float)Main.rand.Next(0, 51); Main.dust[num35].noGravity = true; } else { if (tile.type == 178) { int num36 = Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, num14, 0f, 0f, 75, default(Color), 0.75f); Main.dust[num36].noLight = true; } else { if (tile.type == 193 || (tile.type == 18 && num14 == 4)) { Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, num14, 0f, 0f, 75, new Color(0, 80, 255, 100), 0.75f); } else { if (tile.type == 197) { Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, num14, 0f, 0f, 75, new Color(97, 200, 255, 100), 0.75f); } else { if (tile.type == 185 && num14 >= 86 && num14 <= 91) { int num37 = Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, num14, 0f, 0f, 75, default(Color), 0.75f); Main.dust[num37].noLight = true; } else { Dust.NewDust(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16, num14, 0f, 0f, 0, default(Color), 1f); } } } } } } } } num13++; continue; IL_1144: num14 = -1; goto IL_1147; } if (effectOnly) { return; } if (fail) { if (tile.type == 2 || tile.type == 23 || tile.type == 109 || tile.type == 199) { tile.type = 0; } if (tile.type == 60 || tile.type == 70) { tile.type = 59; } if (Main.tileMoss[(int)tile.type]) { tile.type = 1; } WorldGen.SquareTileFrame(i, j, true); return; } if (tile.type == 21 && Main.netMode != 1) { int num38 = (int)(tile.frameX / 18); int y = j - (int)(tile.frameY / 18); while (num38 > 1) { num38 -= 2; } num38 = i - num38; if (!Chest.DestroyChest(num38, y)) { return; } } if (tile.type == 51 && tile.wall == 62 && WorldGen.genRand.Next(4) != 0) { noItem = true; } if (!noItem && !WorldGen.stopDrops && Main.netMode != 1) { int num39 = -1; int num40 = -1; if ((double)j < Main.worldSurface) { if (tile.type == 3 || tile.type == 60) { num39 = 400; num40 = 100; } if (tile.type == 73 || tile.type == 74) { num39 = 200; num40 = 50; } } else { if (tile.type == 3 || tile.type == 60) { num39 = 600; } if (tile.type == 73 || tile.type == 74) { num39 = 300; } } if (tile.type == 185) { if (tile.frameY == 0 && tile.frameX < 214) { num39 = 6; } if (tile.frameY == 18 && (tile.frameX < 214 || tile.frameX >= 1368)) { num39 = 6; } } else { if (tile.type == 186) { if (tile.frameX >= 378 && tile.frameX <= 700) { num39 = 6; } } else { if (tile.type == 187) { if (tile.frameX >= 756 && tile.frameX <= 916) { num39 = 6; } if (tile.frameX <= 322) { num39 = 6; } } } } if (NPC.CountNPCS(357) < 5 && num39 > 0 && Main.rand.Next(num39) == 0) { int num41 = NPC.NewNPC(i * 16 + 10, j * 16, 357, 0); Main.npc[num41].TargetClosest(true); Main.npc[num41].velocity.Y = (float)Main.rand.Next(-50, -21) * 0.1f; Main.npc[num41].velocity.X = (float)Main.rand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num41].direction); Main.npc[num41].direction *= -1; Main.npc[num41].netUpdate = true; } if (NPC.CountNPCS(377) < 5 && num40 > 0 && Main.rand.Next(num40) == 0) { int num42 = NPC.NewNPC(i * 16 + 10, j * 16, 377, 0); Main.npc[num42].TargetClosest(true); Main.npc[num42].velocity.Y = (float)Main.rand.Next(-50, -21) * 0.1f; Main.npc[num42].velocity.X = (float)Main.rand.Next(0, 26) * 0.1f * (float)(-(float)Main.npc[num42].direction); Main.npc[num42].direction *= -1; Main.npc[num42].netUpdate = true; } int num43 = 0; if (tile.type == 0 || tile.type == 2 || tile.type == 109) { num43 = 2; } else { if (tile.type == 1) { num43 = 3; } else { if (tile.type == 3 || tile.type == 73) { if (Main.rand.Next(2) == 0 && (Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].HasItem(281) || Main.player[(int)Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16)].HasItem(986))) { num43 = 283; } } else { if (tile.type == 227) { int num44 = (int)(tile.frameX / 34); num43 = 1107 + num44; } else { if (tile.type == 4) { int num45 = (int)(tile.frameY / 22); if (num45 == 0) { num43 = 8; } else { if (num45 == 8) { num43 = 523; } else { if (num45 == 9) { num43 = 974; } else { if (num45 == 10) { num43 = 1245; } else { if (num45 == 11) { num43 = 1333; } else { if (num45 == 12) { num43 = 2274; } else { num43 = 426 + num45; } } } } } } } else { if (tile.type == 239) { int num46 = (int)(tile.frameX / 18); if (num46 == 0) { num43 = 20; } if (num46 == 1) { num43 = 703; } if (num46 == 2) { num43 = 22; } if (num46 == 3) { num43 = 704; } if (num46 == 4) { num43 = 21; } if (num46 == 5) { num43 = 705; } if (num46 == 6) { num43 = 19; } if (num46 == 7) { num43 = 706; } if (num46 == 8) { num43 = 57; } if (num46 == 9) { num43 = 117; } if (num46 == 10) { num43 = 175; } if (num46 == 11) { num43 = 381; } if (num46 == 12) { num43 = 1184; } if (num46 == 13) { num43 = 382; } if (num46 == 14) { num43 = 1191; } if (num46 == 15) { num43 = 391; } if (num46 == 16) { num43 = 1198; } if (num46 == 17) { num43 = 1006; } if (num46 == 18) { num43 = 1225; } if (num46 == 19) { num43 = 1257; } if (num46 == 20) { num43 = 1552; } } else { if (tile.type == 315) { num43 = 2435; } else { if (tile.type == 330) { num43 = 71; } else { if (tile.type == 331) { num43 = 72; } else { if (tile.type == 332) { num43 = 73; } else { if (tile.type == 333) { num43 = 74; } else { if (tile.type == 5) { if (tile.frameX >= 22 && tile.frameY >= 198) { if (Main.netMode != 1) { if (WorldGen.genRand.Next(2) == 0) { int num47 = j; while (Main.tile[i, num47] != null && (!Main.tile[i, num47].active() || !Main.tileSolid[(int)Main.tile[i, num47].type] || Main.tileSolidTop[(int)Main.tile[i, num47].type])) { num47++; } if (Main.tile[i, num47] != null) { if (Main.tile[i, num47].type == 2 || Main.tile[i, num47].type == 109 || Main.tile[i, num47].type == 147) { num43 = 27; } else { num43 = 9; } } } else { num43 = 9; } } } else { num43 = 9; } if (num43 == 9) { int num48 = i; int num49 = j; if (tile.frameX == 66 && tile.frameY <= 45) { num48++; } if (tile.frameX == 88 && tile.frameY >= 66 && tile.frameY <= 110) { num48--; } if (tile.frameX == 22 && tile.frameY >= 132 && tile.frameY <= 176) { num48--; } if (tile.frameX == 44 && tile.frameY >= 132 && tile.frameY <= 176) { num48++; } if (tile.frameX == 44 && tile.frameY >= 198) { num48++; } if (tile.frameX == 66 && tile.frameY >= 198) { num48--; } while (!Main.tile[num48, num49].active() || !Main.tileSolid[(int)Main.tile[num48, num49].type]) { num49++; } if (Main.tile[num48, num49].active()) { ushort type = Main.tile[num48, num49].type; if (type <= 70) { if (type != 23) { if (type != 60) { if (type == 70) { num43 = 183; } } else { num43 = 620; } } else { num43 = 619; } } else { if (type != 109) { if (type != 147) { if (type == 199) { num43 = 911; } } else { num43 = 2503; } } else { num43 = 621; } } } } } else { if (tile.type == 323) { num43 = 2504; int num50 = j; while (!Main.tile[i, num50].active() || !Main.tileSolid[(int)Main.tile[i, num50].type]) { num50++; } if (Main.tile[i, num50].active()) { ushort type = Main.tile[i, num50].type; if (type != 112) { if (type != 116) { if (type == 234) { num43 = 911; } } else { num43 = 621; } } else { num43 = 619; } } } else { if (tile.type >= 255 && tile.type <= 261) { num43 = (int)(1970 + tile.type - 255); } else { if (tile.type >= 262 && tile.type <= 268) { num43 = (int)(1970 + tile.type - 262); } else { if (tile.type == 171) { if (tile.frameX >= 10) { WorldGen.dropXmasTree(i, j, 0); WorldGen.dropXmasTree(i, j, 1); WorldGen.dropXmasTree(i, j, 2); WorldGen.dropXmasTree(i, j, 3); } } else { if (tile.type == 324) { switch (tile.frameY / 22) { case 0: num43 = 2625; break; case 1: num43 = 2626; break; } } else { if (tile.type == 272) { num43 = 1344; } else { if (tile.type == 273) { num43 = 2119; } else { if (tile.type == 274) { num43 = 2120; } else { if (tile.type == 326) { num43 = 2693; Main.PlaySound(13, i * 16, j * 16, 1); } else { if (tile.type == 327) { num43 = 2694; Main.PlaySound(13, i * 16, j * 16, 1); } else { if (tile.type == 328) { num43 = 2695; Main.PlaySound(13, i * 16, j * 16, 1); } else { if (tile.type == 329) { num43 = 2697; Main.PlaySound(13, i * 16, j * 16, 1); } else { if (tile.type == 336) { num43 = 2701; } else { if (tile.type == 251) { num43 = 1725; } else { if (tile.type == 252) { num43 = 1727; } else { if (tile.type == 253) { num43 = 1729; } else { if (tile.type == 325) { num43 = 2692; } else { if (tile.type == 170) { num43 = 1872; } else { if (tile.type == 284) { num43 = 2173; } else { if (tile.type == 214) { num43 = 85; } else { if (tile.type == 213) { num43 = 965; } else { if (tile.type == 211) { num43 = 947; } else { if (tile.type == 6) { num43 = 11; } else { if (tile.type == 7) { num43 = 12; } else { if (tile.type == 8) { num43 = 13; } else { if (tile.type == 9) { num43 = 14; } else { if (tile.type == 202) { num43 = 824; } else { if (tile.type == 234) { num43 = 1246; } else { if (tile.type == 226) { num43 = 1101; } else { if (tile.type == 224) { num43 = 1103; } else { if (tile.type == 36) { num43 = 1869; } else { if (tile.type == 311) { num43 = 2260; } else { if (tile.type == 312) { num43 = 2261; } else { if (tile.type == 313) { num43 = 2262; } else { if (tile.type == 229) { num43 = 1125; } else { if (tile.type == 230) { num43 = 1127; } else { if (tile.type == 225) { if (WorldGen.genRand.Next(3) == 0) { tile.honey(true); tile.liquid = 255; } else { num43 = 1124; if (Main.netMode != 1 && WorldGen.genRand.Next(2) == 0) { int num51 = 1; if (WorldGen.genRand.Next(3) == 0) { num51 = 2; } for (int num52 = 0; num52 < num51; num52++) { int type2 = WorldGen.genRand.Next(210, 212); int num53 = NPC.NewNPC(i * 16 + 8, j * 16 + 15, type2, 1); Main.npc[num53].velocity.X = (float)WorldGen.genRand.Next(-200, 201) * 0.002f; Main.npc[num53].velocity.Y = (float)WorldGen.genRand.Next(-200, 201) * 0.002f; Main.npc[num53].netUpdate = true; } } } } else { if (tile.type == 221) { num43 = 1104; } else { if (tile.type == 222) { num43 = 1105; } else { if (tile.type == 223) { num43 = 1106; } else { if (tile.type == 248) { num43 = 1589; } else { if (tile.type == 249) { num43 = 1591; } else { if (tile.type == 250) { num43 = 1593; } else { if (tile.type == 191) { num43 = 9; } else { if (tile.type == 203) { num43 = 836; } else { if (tile.type == 204) { num43 = 880; } else { if (tile.type == 166) { num43 = 699; } else { if (tile.type == 167) { num43 = 700; } else { if (tile.type == 168) { num43 = 701; } else { if (tile.type == 169) { num43 = 702; } else { if (tile.type == 123) { num43 = 424; } else { if (tile.type == 124) { num43 = 480; } else { if (tile.type == 157) { num43 = 619; } else { if (tile.type == 158) { num43 = 620; } else { if (tile.type == 159) { num43 = 621; } else { if (tile.type == 161) { num43 = 664; } else { if (tile.type == 206) { num43 = 883; } else { if (tile.type == 232) { num43 = 1150; } else { if (tile.type == 198) { num43 = 775; } else { if (tile.type == 314) { num43 = Minecart.GetTrackItem(tile); } else { if (tile.type == 189) { num43 = 751; } else { if (tile.type == 195) { num43 = 763; } else { if (tile.type == 194) { num43 = 766; } else { if (tile.type == 193) { num43 = 762; } else { if (tile.type == 196) { num43 = 765; } else { if (tile.type == 197) { num43 = 767; } else { if (tile.type == 178) { int num54 = (int)(tile.frameX / 18); if (num54 == 0) { num43 = 181; } else { if (num54 == 1) { num43 = 180; } else { if (num54 == 2) { num43 = 177; } else { if (num54 == 3) { num43 = 179; } else { if (num54 == 4) { num43 = 178; } else { if (num54 == 5) { num43 = 182; } else { if (num54 == 6) { num43 = 999; } } } } } } } } else { if (tile.type == 149) { if (tile.frameX == 0 || tile.frameX == 54) { num43 = 596; } else { if (tile.frameX == 18 || tile.frameX == 72) { num43 = 597; } else { if (tile.frameX == 36 || tile.frameX == 90) { num43 = 598; } } } } else { if (tile.type == 13) { Main.PlaySound(13, i * 16, j * 16, 1); int num55 = (int)(tile.frameX / 18); if (num55 == 1) { num43 = 28; } else { if (num55 == 2) { num43 = 110; } else { if (num55 == 3) { num43 = 350; } else { if (num55 == 4) { num43 = 351; } else { if (num55 == 5) { num43 = 2234; } else { if (num55 == 6) { num43 = 2244; } else { if (num55 == 7) { num43 = 2257; } else { if (num55 == 8) { num43 = 2258; } else { num43 = 31; } } } } } } } } } else { if (tile.type == 19) { int num56 = (int)(tile.frameY / 18); if (num56 == 0) { num43 = 94; } else { if (num56 == 1) { num43 = 631; } else { if (num56 == 2) { num43 = 632; } else { if (num56 == 3) { num43 = 633; } else { if (num56 == 4) { num43 = 634; } else { if (num56 == 5) { num43 = 913; } else { if (num56 == 6) { num43 = 1384; } else { if (num56 == 7) { num43 = 1385; } else { if (num56 == 8) { num43 = 1386; } else { if (num56 == 9) { num43 = 1387; } else { if (num56 == 10) { num43 = 1388; } else { if (num56 == 11) { num43 = 1389; } else { if (num56 == 12) { num43 = 1418; } else { if (num56 == 13) { num43 = 1457; } else { if (num56 == 14) { num43 = 1702; } else { if (num56 == 15) { num43 = 1796; } else { if (num56 == 16) { num43 = 1818; } else { if (num56 == 17) { num43 = 2518; } else { if (num56 == 18) { num43 = 2549; } else { if (num56 == 19) { num43 = 2566; } else { if (num56 == 20) { num43 = 2581; } else { if (num56 == 21) { num43 = 2627; } else { if (num56 == 22) { num43 = 2628; } else { if (num56 == 23) { num43 = 2629; } else { if (num56 == 24) { num43 = 2630; } else { if (num56 == 25) { num43 = 2744; } } } } } } } } } } } } } } } } } } } } } } } } } } } else { if (tile.type == 22) { num43 = 56; } else { if (tile.type == 140) { num43 = 577; } else { if (tile.type == 23) { num43 = 2; } else { if (tile.type == 25) { num43 = 61; } else { if (tile.type == 30) { num43 = 9; } else { if (tile.type == 191) { num43 = 9; } else { if (tile.type == 208) { num43 = 911; } else { if (tile.type == 33) { int num57 = (int)(tile.frameY / 22); num43 = 105; if (num57 == 1) { num43 = 1405; } else { if (num57 == 2) { num43 = 1406; } else { if (num57 == 3) { num43 = 1407; } else { if (num57 >= 4 && num57 <= 13) { num43 = 2045 + num57 - 4; } else { if (num57 >= 14 && num57 <= 16) { num43 = 2153 + num57 - 14; } else { if (num57 == 17) { num43 = 2236; } else { if (num57 == 18) { num43 = 2523; } else { if (num57 == 19) { num43 = 2542; } else { if (num57 == 20) { num43 = 2556; } else { if (num57 == 21) { num43 = 2571; } else { if (num57 == 22) { num43 = 2648; } else { if (num57 == 23) { num43 = 2649; } else { if (num57 == 24) { num43 = 2650; } else { if (num57 == 25) { num43 = 2651; } } } } } } } } } } } } } } } else { if (tile.type == 174) { num43 = 713; } else { if (tile.type == 37) { num43 = 116; } else { if (tile.type == 38) { num43 = 129; } else { if (tile.type == 39) { num43 = 131; } else { if (tile.type == 40) { num43 = 133; } else { if (tile.type == 41) { num43 = 134; } else { if (tile.type == 43) { num43 = 137; } else { if (tile.type == 44) { num43 = 139; } else { if (tile.type == 45) { num43 = 141; } else { if (tile.type == 46) { num43 = 143; } else { if (tile.type == 47) { num43 = 145; } else { if (tile.type == 48) { num43 = 147; } else { if (tile.type == 49) { num43 = 148; } else { if (tile.type == 51) { num43 = 150; } else { if (tile.type == 53) { num43 = 169; } else { if (tile.type == 151) { num43 = 607; } else { if (tile.type == 152) { num43 = 609; } else { if (tile.type == 54) { num43 = 170; Main.PlaySound(13, i * 16, j * 16, 1); } else { if (tile.type == 56) { num43 = 173; } else { if (tile.type == 57) { num43 = 172; } else { if (tile.type == 58) { num43 = 174; } else { if (tile.type == 60) { num43 = 176; } else { if (tile.type == 70) { num43 = 176; } else { if (tile.type == 75) { num43 = 192; } else { if (tile.type == 76) { num43 = 214; } else { if (tile.type == 78) { num43 = 222; } else { if (tile.type == 81) { num43 = 275; } else { if (tile.type == 80) { num43 = 276; } else { if (tile.type == 188) { num43 = 276; } else { if (tile.type == 107) { num43 = 364; } else { if (tile.type == 108) { num43 = 365; } else { if (tile.type == 111) { num43 = 366; } else { if (tile.type == 150) { num43 = 604; } else { if (tile.type == 112) { num43 = 370; } else { if (tile.type == 116) { num43 = 408; } else { if (tile.type == 117) { num43 = 409; } else { if (tile.type == 129) { num43 = 502; } else { if (tile.type == 118) { num43 = 412; } else { if (tile.type == 119) { num43 = 413; } else { if (tile.type == 120) { num43 = 414; } else { if (tile.type == 121) { num43 = 415; } else { if (tile.type == 122) { num43 = 416; } else { if (tile.type == 136) { num43 = 538; } else { if (tile.type == 137) { int num58 = (int)(tile.frameY / 18); if (num58 == 0) { num43 = 539; } if (num58 == 1) { num43 = 1146; } if (num58 == 2) { num43 = 1147; } if (num58 == 3) { num43 = 1148; } if (num58 == 4) { num43 = 1149; } } else { if (tile.type == 141) { num43 = 580; } else { if (tile.type == 145) { num43 = 586; } else { if (tile.type == 146) { num43 = 591; } else { if (tile.type == 147) { num43 = 593; } else { if (tile.type == 148) { num43 = 594; } else { if (tile.type == 153) { num43 = 611; } else { if (tile.type == 154) { num43 = 612; } else { if (tile.type == 155) { num43 = 613; } else { if (tile.type == 156) { num43 = 614; } else { if (tile.type == 160) { num43 = 662; } else { if (tile.type == 175) { num43 = 717; } else { if (tile.type == 176) { num43 = 718; } else { if (tile.type == 177) { num43 = 719; } else { if (tile.type == 163) { num43 = 833; } else { if (tile.type == 164) { num43 = 834; } else { if (tile.type == 200) { num43 = 835; } else { if (tile.type == 210) { num43 = 937; } else { if (tile.type == 135) { int num59 = (int)(tile.frameY / 18); if (num59 == 0) { num43 = 529; } if (num59 == 1) { num43 = 541; } if (num59 == 2) { num43 = 542; } if (num59 == 3) { num43 = 543; } if (num59 == 4) { num43 = 852; } if (num59 == 5) { num43 = 853; } if (num59 == 6) { num43 = 1151; } } else { if (tile.type == 144) { if (tile.frameX == 0) { num43 = 583; } if (tile.frameX == 18) { num43 = 584; } if (tile.frameX == 36) { num43 = 585; } } else { if (tile.type == 130) { num43 = 511; } else { if (tile.type == 131) { num43 = 512; } else { if (tile.type == 61 || tile.type == 74) { if (tile.frameX == 144 && tile.type == 61) { Item.NewItem(i * 16, j * 16, 16, 16, 331, WorldGen.genRand.Next(2, 4), false, 0, false); } else { if (tile.frameX == 162 && tile.type == 61) { num43 = 223; } else { if (tile.frameX >= 108 && tile.frameX <= 126 && tile.type == 61 && WorldGen.genRand.Next(20) == 0) { num43 = 208; } else { if (WorldGen.genRand.Next(100) == 0) { num43 = 195; } } } } } else { if (tile.type == 59 || tile.type == 60) { num43 = 176; } else { if (tile.type == 190) { num43 = 183; } else { if (tile.type == 71 || tile.type == 72) { if (WorldGen.genRand.Next(50) == 0) { num43 = 194; } else { if (WorldGen.genRand.Next(2) == 0) { num43 = 183; } } } else { if (tile.type >= 63 && tile.type <= 68) { num43 = (int)(tile.type - 63 + 177); } else { if (tile.type == 50) { if (tile.frameX == 90) { num43 = 165; } else { num43 = 149; } } else { if (Main.tileAlch[(int)tile.type]) { if (tile.type > 82) { int num60 = (int)(tile.frameX / 18); bool flag = false; num43 = 313 + num60; int type3 = 307 + num60; if (tile.type == 84) { flag = true; } if (num60 == 0 && Main.dayTime) { flag = true; } if (num60 == 1 && !Main.dayTime) { flag = true; } if (num60 == 3 && Main.bloodMoon) { flag = true; } if (num60 == 4 && (Main.raining || Main.cloudAlpha > 0f)) { flag = true; } if (num60 == 6) { num43 = 2358; type3 = 2357; } if (flag) { Item.NewItem(i * 16, j * 16, 16, 16, type3, WorldGen.genRand.Next(1, 4), false, 0, false); } } } else { if (tile.type == 321) { num43 = 2503; } else { if (tile.type == 322) { num43 = 2504; } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } if (num43 > 0) { Item.NewItem(i * 16, j * 16, 16, 16, num43, 1, false, -1, false); } } tile.active(false); tile.halfBrick(false); tile.frameX = -1; tile.frameY = -1; tile.color(0); tile.frameNumber(0); if (tile.type == 58 && j > Main.maxTilesY - 200) { tile.lava(true); tile.liquid = 128; } tile.type = 0; tile.inActive(false); WorldGen.SquareTileFrame(i, j, true); } } }
private static bool OldCheck(Item it) { var prefix = it.prefix; it.Prefix(prefix); if (it.prefix == prefix) return true; else return false; }
private static bool HandlePlayerSlot(GetDataHandlerArgs args) { int plr = args.Data.ReadInt8(); int slot = args.Data.ReadInt8(); int stack = args.Data.ReadInt8(); short prefix = (short) args.Data.ReadInt8(); int type = (int) args.Data.ReadInt16(); if (plr != args.Player.Index) { return true; } if (slot < 0 || slot > NetItem.maxNetInventory) { return true; } var item = new Item(); item.netDefaults(type); item.Prefix(prefix); if (stack > item.maxStack && type != 0 && args.Player.IgnoreActionsForCheating != "none" && !args.Player.Group.HasPermission(Permissions.ignorestackhackdetection)) { args.Player.IgnoreActionsForCheating = "Item Hack: " + item.name + " (" + stack + ") exceeds max stack of " + item.maxStack; } if (args.Player.IsLoggedIn) { args.Player.PlayerData.StoreSlot(slot, type, prefix, stack); } return false; }
private Item[] DeepCopyItems( Item[] source ) { Item[] result = null; if ( source.Length > 0 ) { result = new Item[source.Length]; for ( int i = 0; i < source.Length; i++ ) { var oldItem = source[i]; if ( oldItem != null ) { var newItem = new Item(); newItem.netDefaults( oldItem.netID ); newItem.Prefix( oldItem.prefix ); newItem.AffixName(); //if ( oldItem.type != 0 ) // Log.Write( "DCI (id:" + ID + ") " + oldItem.name + "," + newItem.name + "," + oldItem.netID + "," + newItem.netID, LogLevel.Debug ); result[i] = newItem; result[i].stack = oldItem.stack; } // if } // for } // if return result; }
public void SetItem() { #if Full_API Item = new Item(); Item.netDefaults(NetID); Item.stack = Amount; Item.Prefix(Prefix); #endif }
// ParseData +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ private void ParseData( GetDataEventArgs args ) { try { PacketTypes packet = args.MsgID; using ( var data = new MemoryStream( args.Msg.readBuffer, args.Index, args.Length ) ) { TSPlayer player = TShock.Players[args.Msg.whoAmI]; switch ( packet ) { case PacketTypes.ChestItem: { string action, itemName; short chestID = data.ReadInt16(); byte itemSlot = data.ReadInt8(); byte itemStack = data.ReadInt8(); byte prefix = data.ReadInt8(); short itemType = data.ReadInt16(); var oldItem = Main.chest[chestID].item[itemSlot]; if ( oldItem.name != null && oldItem.name.Length > 0 ) { action = "cGet"; itemName = oldItem.name; } // if else { var newItem = new Item(); newItem.netDefaults( itemType ); newItem.Prefix( prefix ); newItem.AffixName(); action = "cPut"; itemName = newItem.name; } // else if ( itemType != prevItemType ) { _ircClient.SendMessage( SendType.Message, _actionChannel, string.Format( "{0} ({1}): {2}: {3}", player.Name, player.Group.Name, action, itemName ) ); prevItemType = itemType; } // if break; } // case } // switch } // using } // try catch ( Exception exception ) { Console.WriteLine( exception.Message + "(" + exception.StackTrace + ")" ); } // catch }