// these two methods are probably the hardest ones to debug in the entire mod. I HATE red's colour system. static Color ComposeColour(Item item, Color? tint = null) { Color c; c = item.color == default(Color) ? item.GetAlpha(tint ?? Color.White) : item.GetAlpha(item.GetColor(tint ?? Color.White)); //c.A = 255; return c; }
public static void VanillaDrawItemTextureInSlot(SpriteBatch sb, Color color, Item item, Vector2 pos, float scale) { if (item.type > 0 && item.stack > 0) { Texture2D texture2D = Main.itemTexture[item.type]; Rectangle?sourceRectangle = new Rectangle(0, 0, texture2D.Width, texture2D.Height); sb.Draw(texture2D, pos, sourceRectangle, item.GetAlpha(color), 0f, default(Vector2), scale, SpriteEffects.None, 0f); if (item.color != default(Color)) { sb.Draw(texture2D, pos, sourceRectangle, item.GetColor(color), 0f, default(Vector2), scale, SpriteEffects.None, 0f); } } }
protected void DrawChat() { if (Main.player[Main.myPlayer].talkNPC < 0 && Main.player[Main.myPlayer].sign == -1) { Main.npcChatText = ""; return; } if (Main.netMode == 0 && Main.autoPause && Main.player[Main.myPlayer].talkNPC >= 0) { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 105) { Main.npc[Main.player[Main.myPlayer].talkNPC].Transform(107); } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 106) { Main.npc[Main.player[Main.myPlayer].talkNPC].Transform(108); } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 123) { Main.npc[Main.player[Main.myPlayer].talkNPC].Transform(124); } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 354) { Main.npc[Main.player[Main.myPlayer].talkNPC].Transform(353); } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 376) { Main.npc[Main.player[Main.myPlayer].talkNPC].Transform(369); } } Color color = new Color(200, 200, 200, 200); int num = (int)((Main.mouseTextColor * 2 + 255) / 3); Color textColor = new Color(num, num, num, num); int num2; string[] array = Utils.WordwrapString(Main.npcChatText, Main.fontMouseText, 460, 10, out num2); if (Main.editSign) { this.textBlinkerCount++; if (this.textBlinkerCount >= 20) { if (this.textBlinkerState == 0) { this.textBlinkerState = 1; } else { this.textBlinkerState = 0; } this.textBlinkerCount = 0; } if (this.textBlinkerState == 1) { string[] array2; IntPtr intPtr; (array2 = array)[(int)(intPtr = (IntPtr)num2)] = array2[(int)intPtr] + "|"; } } num2++; Main.spriteBatch.Draw(Main.chatBackTexture, new Vector2((float)(Main.screenWidth / 2 - Main.chatBackTexture.Width / 2), 100f), new Rectangle?(new Rectangle(0, 0, Main.chatBackTexture.Width, (num2 + 1) * 30)), color, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); Main.spriteBatch.Draw(Main.chatBackTexture, new Vector2((float)(Main.screenWidth / 2 - Main.chatBackTexture.Width / 2), (float)(100 + (num2 + 1) * 30)), new Rectangle?(new Rectangle(0, Main.chatBackTexture.Height - 30, Main.chatBackTexture.Width, 30)), color, 0f, default(Vector2), 1f, SpriteEffects.None, 0f); for (int i = 0; i < num2; i++) { Utils.DrawBorderStringFourWay(Main.spriteBatch, Main.fontMouseText, array[i], (float)(170 + (Main.screenWidth - 800) / 2), (float)(120 + i * 30), textColor, Color.Black, Vector2.Zero, 1f); } if (Main.npcChatCornerItem != 0) { Vector2 vector = new Vector2((float)(Main.screenWidth / 2 + Main.chatBackTexture.Width / 2), (float)(100 + (num2 + 1) * 30 + 30)); vector -= Vector2.One * 8f; Item item = new Item(); item.netDefaults(Main.npcChatCornerItem); float num3 = 1f; Texture2D texture2D = Main.itemTexture[item.type]; if (texture2D.Width > 32 || texture2D.Height > 32) { if (texture2D.Width > texture2D.Height) { num3 = 32f / (float)texture2D.Width; } else { num3 = 32f / (float)texture2D.Height; } } Main.spriteBatch.Draw(texture2D, vector, null, item.GetAlpha(Color.White), 0f, new Vector2((float)texture2D.Width, (float)texture2D.Height), num3, SpriteEffects.None, 0f); if (item.color != default(Color)) { Main.spriteBatch.Draw(texture2D, vector, null, item.GetColor(item.color), 0f, new Vector2((float)texture2D.Width, (float)texture2D.Height), num3, SpriteEffects.None, 0f); } if (new Rectangle((int)vector.X - (int)((float)texture2D.Width * num3), (int)vector.Y - (int)((float)texture2D.Height * num3), (int)((float)texture2D.Width * num3), (int)((float)texture2D.Height * num3)).Contains(new Point(Main.mouseX, Main.mouseY))) { this.MouseText(item.name, -11, 0); } } num = (int)Main.mouseTextColor; textColor = new Color(num, (int)((double)num / 1.1), num / 2, num); string text = ""; string text2 = ""; int num4 = Main.player[Main.myPlayer].statLifeMax2 - Main.player[Main.myPlayer].statLife; for (int j = 0; j < 22; j++) { int num5 = Main.player[Main.myPlayer].buffType[j]; if (Main.debuff[num5] && Main.player[Main.myPlayer].buffTime[j] > 0 && num5 != 28 && num5 != 34 && num5 != 87 && num5 != 89 && num5 != 21 && num5 != 86) { num4 += 1000; } } if (Main.player[Main.myPlayer].sign > -1) { if (Main.editSign) { text = Lang.inter[47]; } else { text = Lang.inter[48]; } } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 20) { text = Lang.inter[28]; text2 = Lang.inter[49]; } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 353) { text = Lang.inter[28]; text2 = "Hair Style"; } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 368) { text = Lang.inter[28]; } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 369) { text = Lang.inter[64]; } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 17 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 19 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 38 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 54 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 107 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 108 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 124 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 142 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 160 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 178 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 207 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 208 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 209 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 227 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 228 || Main.npc[Main.player[Main.myPlayer].talkNPC].type == 229) { text = Lang.inter[28]; if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 107) { text2 = Lang.inter[19]; } } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 37) { if (!Main.dayTime) { text = Lang.inter[50]; } } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 22) { text = Lang.inter[51]; text2 = Lang.inter[25]; } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 18) { string text3 = ""; int num6 = 0; int num7 = 0; int num8 = 0; int num9 = 0; int num10 = num4; if (num10 > 0) { num10 = (int)((double)num10 * 0.75); if (num10 < 1) { num10 = 1; } } if (num10 < 0) { num10 = 0; } num4 = num10; if (num10 >= 1000000) { num6 = num10 / 1000000; num10 -= num6 * 1000000; } if (num10 >= 10000) { num7 = num10 / 10000; num10 -= num7 * 10000; } if (num10 >= 100) { num8 = num10 / 100; num10 -= num8 * 100; } if (num10 >= 1) { num9 = num10; } if (num6 > 0) { object obj = text3; text3 = string.Concat(new object[] { obj, num6, " ", Lang.inter[15], " " }); } if (num7 > 0) { object obj2 = text3; text3 = string.Concat(new object[] { obj2, num7, " ", Lang.inter[16], " " }); } if (num8 > 0) { object obj3 = text3; text3 = string.Concat(new object[] { obj3, num8, " ", Lang.inter[17], " " }); } if (num9 > 0) { object obj4 = text3; text3 = string.Concat(new object[] { obj4, num9, " ", Lang.inter[18], " " }); } float num11 = (float)Main.mouseTextColor / 255f; if (num6 > 0) { textColor = new Color((int)((byte)(220f * num11)), (int)((byte)(220f * num11)), (int)((byte)(198f * num11)), (int)Main.mouseTextColor); } else { if (num7 > 0) { textColor = new Color((int)((byte)(224f * num11)), (int)((byte)(201f * num11)), (int)((byte)(92f * num11)), (int)Main.mouseTextColor); } else { if (num8 > 0) { textColor = new Color((int)((byte)(181f * num11)), (int)((byte)(192f * num11)), (int)((byte)(193f * num11)), (int)Main.mouseTextColor); } else { if (num9 > 0) { textColor = new Color((int)((byte)(246f * num11)), (int)((byte)(138f * num11)), (int)((byte)(96f * num11)), (int)Main.mouseTextColor); } } } } text = Lang.inter[54] + " (" + text3 + ")"; if (num10 == 0) { text = Lang.inter[54]; } } } } } } } } } } int num12 = 180 + (Main.screenWidth - 800) / 2; int num13 = 130 + num2 * 30; float scale = 0.9f; if (Main.mouseX > num12 && (float)Main.mouseX < (float)num12 + Main.fontMouseText.MeasureString(text).X && Main.mouseY > num13 && (float)Main.mouseY < (float)num13 + Main.fontMouseText.MeasureString(text).Y) { Main.player[Main.myPlayer].mouseInterface = true; scale = 1.1f; if (!Main.npcChatFocus2) { Main.PlaySound(12, -1, -1, 1); } Main.npcChatFocus2 = true; Main.player[Main.myPlayer].releaseUseItem = false; } else { if (Main.npcChatFocus2) { Main.PlaySound(12, -1, -1, 1); } Main.npcChatFocus2 = false; } Vector2 origin = Main.fontMouseText.MeasureString(text) * 0.5f; Utils.DrawBorderStringFourWay(Main.spriteBatch, Main.fontMouseText, text, (float)num12 + origin.X, (float)num13 + origin.Y, textColor, Color.Black, origin, scale); string text4 = Lang.inter[52]; textColor = new Color(num, (int)((double)num / 1.1), num / 2, num); num12 = num12 + (int)Main.fontMouseText.MeasureString(text).X + 20; int num14 = num12 + (int)Main.fontMouseText.MeasureString(text4).X; num13 = 130 + num2 * 30; scale = 0.9f; if (Main.mouseX > num12 && (float)Main.mouseX < (float)num12 + Main.fontMouseText.MeasureString(text4).X && Main.mouseY > num13 && (float)Main.mouseY < (float)num13 + Main.fontMouseText.MeasureString(text4).Y) { scale = 1.1f; if (!Main.npcChatFocus1) { Main.PlaySound(12, -1, -1, 1); } Main.npcChatFocus1 = true; Main.player[Main.myPlayer].releaseUseItem = false; Main.player[Main.myPlayer].controlUseItem = false; } else { if (Main.npcChatFocus1) { Main.PlaySound(12, -1, -1, 1); } Main.npcChatFocus1 = false; } origin = Main.fontMouseText.MeasureString(text4) * 0.5f; Utils.DrawBorderStringFourWay(Main.spriteBatch, Main.fontMouseText, text4, (float)num12 + origin.X, (float)num13 + origin.Y, textColor, Color.Black, origin, scale); if (text2 != "") { num12 = num14 + (int)Main.fontMouseText.MeasureString(text2).X / 3; num13 = 130 + num2 * 30; scale = 0.9f; if (Main.mouseX > num12 && (float)Main.mouseX < (float)num12 + Main.fontMouseText.MeasureString(text2).X && Main.mouseY > num13 && (float)Main.mouseY < (float)num13 + Main.fontMouseText.MeasureString(text2).Y) { Main.player[Main.myPlayer].mouseInterface = true; scale = 1.1f; if (!Main.npcChatFocus3) { Main.PlaySound(12, -1, -1, 1); } Main.npcChatFocus3 = true; Main.player[Main.myPlayer].releaseUseItem = false; } else { if (Main.npcChatFocus3) { Main.PlaySound(12, -1, -1, 1); } Main.npcChatFocus3 = false; } origin = Main.fontMouseText.MeasureString(text2) * 0.5f; Utils.DrawBorderStringFourWay(Main.spriteBatch, Main.fontMouseText, text2, (float)num12 + origin.X, (float)num13 + origin.Y, textColor, Color.Black, origin, scale); } if (Main.mouseLeft && Main.mouseLeftRelease) { Main.mouseLeftRelease = false; Main.player[Main.myPlayer].releaseUseItem = false; Main.player[Main.myPlayer].mouseInterface = true; if (Main.npcChatFocus1) { Main.player[Main.myPlayer].talkNPC = -1; Main.player[Main.myPlayer].sign = -1; Main.npcChatCornerItem = 0; Main.editSign = false; Main.npcChatText = ""; Main.PlaySound(11, -1, -1, 1); return; } if (Main.npcChatFocus2) { if (Main.player[Main.myPlayer].sign != -1) { if (!Main.editSign) { Main.PlaySound(12, -1, -1, 1); Main.editSign = true; Main.clrInput(); return; } Main.PlaySound(12, -1, -1, 1); int num15 = Main.player[Main.myPlayer].sign; Sign.TextSign(num15, Main.npcChatText); Main.editSign = false; if (Main.netMode == 1) { NetMessage.SendData(47, -1, -1, "", num15, 0f, 0f, 0f, 0); return; } } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 369) { Main.npcChatCornerItem = 0; Main.PlaySound(12, -1, -1, 1); bool flag = false; if (!Main.anglerQuestFinished && !Main.anglerWhoFinishedToday.Contains(Main.player[Main.myPlayer].name)) { int num16 = Main.player[Main.myPlayer].FindItem(Main.anglerQuestItemNetIDs[Main.anglerQuest]); if (num16 != -1) { Main.player[Main.myPlayer].inventory[num16].stack--; if (Main.player[Main.myPlayer].inventory[num16].stack <= 0) { Main.player[Main.myPlayer].inventory[num16] = new Item(); } flag = true; Main.PlaySound(24, -1, -1, 1); Main.player[Main.myPlayer].anglerQuestsFinished++; Main.player[Main.myPlayer].GetAnglerReward(); } } Main.npcChatText = Lang.AnglerQuestChat(flag); if (flag) { Main.anglerQuestFinished = true; if (Main.netMode == 1) { NetMessage.SendData(75, -1, -1, "", 0, 0f, 0f, 0f, 0); return; } Main.anglerWhoFinishedToday.Add(Main.player[Main.myPlayer].name); return; } } else { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 17) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 1; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 19) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 2; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 124) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 8; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 142) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 9; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 353) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 18; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 368) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 19; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 37) { if (Main.netMode == 0) { NPC.SpawnSkeletron(); } else { NetMessage.SendData(51, -1, -1, "", Main.myPlayer, 1f, 0f, 0f, 0); } Main.npcChatText = ""; return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 20) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 3; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 38) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 4; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 54) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 5; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 107) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 6; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 108) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 7; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 160) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 10; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 178) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 11; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 207) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 12; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 208) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 13; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 209) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 14; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 227) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 15; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 228) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 16; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 229) { Main.playerInventory = true; Main.npcChatText = ""; Main.npcShop = 17; this.shop[Main.npcShop].SetupShop(Main.npcShop); Main.PlaySound(12, -1, -1, 1); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 22) { Main.PlaySound(12, -1, -1, 1); Main.HelpText(); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 18) { Main.PlaySound(12, -1, -1, 1); if (num4 > 0) { if (Main.player[Main.myPlayer].BuyItem(num4)) { Main.PlaySound(2, -1, -1, 4); Main.player[Main.myPlayer].HealEffect(Main.player[Main.myPlayer].statLifeMax2 - Main.player[Main.myPlayer].statLife, true); if ((double)Main.player[Main.myPlayer].statLife < (double)Main.player[Main.myPlayer].statLifeMax2 * 0.25) { Main.npcChatText = Lang.dialog(227, false); } else { if ((double)Main.player[Main.myPlayer].statLife < (double)Main.player[Main.myPlayer].statLifeMax2 * 0.5) { Main.npcChatText = Lang.dialog(228, false); } else { if ((double)Main.player[Main.myPlayer].statLife < (double)Main.player[Main.myPlayer].statLifeMax2 * 0.75) { Main.npcChatText = Lang.dialog(229, false); } else { Main.npcChatText = Lang.dialog(230, false); } } } Main.player[Main.myPlayer].statLife = Main.player[Main.myPlayer].statLifeMax2; for (int k = 0; k < 22; k++) { int num17 = Main.player[Main.myPlayer].buffType[k]; if (Main.debuff[num17] && Main.player[Main.myPlayer].buffTime[k] > 0 && num17 != 28 && num17 != 34 && num17 != 87 && num17 != 89 && num17 != 21 && num17 != 86) { Main.player[Main.myPlayer].DelBuff(k); } } return; } int num18 = Main.rand.Next(3); if (num18 == 0) { Main.npcChatText = Lang.dialog(52, false); } if (num18 == 1) { Main.npcChatText = Lang.dialog(53, false); } if (num18 == 2) { Main.npcChatText = Lang.dialog(54, false); return; } } else { int num19 = Main.rand.Next(3); if (num19 == 0) { Main.npcChatText = Lang.dialog(55, false); } if (num19 == 1) { Main.npcChatText = Lang.dialog(56, false); } if (num19 == 2) { Main.npcChatText = Lang.dialog(57, false); return; } } } } } } else { if (Main.npcChatFocus3 && Main.player[Main.myPlayer].talkNPC >= 0) { if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 20) { Main.PlaySound(12, -1, -1, 1); Main.npcChatText = Lang.evilGood(); return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 22) { Main.playerInventory = true; Main.npcChatText = ""; Main.PlaySound(12, -1, -1, 1); Main.craftGuide = true; return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 107) { Main.playerInventory = true; Main.npcChatText = ""; Main.PlaySound(12, -1, -1, 1); Main.reforge = true; return; } if (Main.npc[Main.player[Main.myPlayer].talkNPC].type == 353) { Main.OpenHairWindow(); } } } } }
protected void DrawItem(Item item) { int arg_22_0 = (int)((double)item.position.X + (double)item.width * 0.5) / 16; int arg_28_0 = Lighting.offScreenTiles; int arg_4B_0 = (int)((double)item.position.Y + (double)item.height * 0.5) / 16; int arg_51_0 = Lighting.offScreenTiles; Color color = Lighting.GetColor((int)((double)item.position.X + (double)item.width * 0.5) / 16, (int)((double)item.position.Y + (double)item.height * 0.5) / 16); if (!Main.gamePaused && base.IsActive && ((item.type >= 71 && item.type <= 74) || item.type == 58 || item.type == 109) && color.R > 60) { float num = (float)Main.rand.Next(500) - (Math.Abs(item.velocity.X) + Math.Abs(item.velocity.Y)) * 10f; if (num < (float)(color.R / 50)) { int num2 = Dust.NewDust(item.position, item.width, item.height, 43, 0f, 0f, 254, default(Color), 0.5f); Main.dust[num2].velocity *= 0f; } } float rotation = item.velocity.X * 0.2f; float num3 = 1f; Color alpha = item.GetAlpha(color); if (item.type == 662 || item.type == 663) { alpha.R = (byte)Main.DiscoR; alpha.G = (byte)Main.DiscoG; alpha.B = (byte)Main.DiscoB; alpha.A = 255; } if (item.type == 520 || item.type == 521 || item.type == 547 || item.type == 548 || item.type == 549) { num3 = Main.essScale; alpha.R = (byte)((float)alpha.R * num3); alpha.G = (byte)((float)alpha.G * num3); alpha.B = (byte)((float)alpha.B * num3); alpha.A = (byte)((float)alpha.A * num3); } else { if (item.type == 58 || item.type == 184) { num3 = Main.essScale * 0.25f + 0.75f; alpha.R = (byte)((float)alpha.R * num3); alpha.G = (byte)((float)alpha.G * num3); alpha.B = (byte)((float)alpha.B * num3); alpha.A = (byte)((float)alpha.A * num3); } } float num4 = (float)(item.height - Main.itemTexture[item.type].Height); float num5 = (float)(item.width / 2 - Main.itemTexture[item.type].Width / 2); if (item.type >= 1522 && item.type <= 1527) { Main.spriteBatch.Draw(Main.itemTexture[item.type], new Vector2(item.position.X - Main.screenPosition.X + (float)(Main.itemTexture[item.type].Width / 2) + num5, item.position.Y - Main.screenPosition.Y + (float)(Main.itemTexture[item.type].Height / 2) + num4 + 2f), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[item.type].Width, Main.itemTexture[item.type].Height)), new Color(250, 250, 250, (int)(Main.mouseTextColor / 2)), rotation, new Vector2((float)(Main.itemTexture[item.type].Width / 2), (float)(Main.itemTexture[item.type].Height / 2)), (float)Main.mouseTextColor / 1000f + 0.8f, SpriteEffects.None, 0f); return; } Main.spriteBatch.Draw(Main.itemTexture[item.type], new Vector2(item.position.X - Main.screenPosition.X + (float)(Main.itemTexture[item.type].Width / 2) + num5, item.position.Y - Main.screenPosition.Y + (float)(Main.itemTexture[item.type].Height / 2) + num4 + 2f), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[item.type].Width, Main.itemTexture[item.type].Height)), alpha, rotation, new Vector2((float)(Main.itemTexture[item.type].Width / 2), (float)(Main.itemTexture[item.type].Height / 2)), num3, SpriteEffects.None, 0f); if (item.color != default(Color)) { Main.spriteBatch.Draw(Main.itemTexture[item.type], new Vector2(item.position.X - Main.screenPosition.X + (float)(Main.itemTexture[item.type].Width / 2) + num5, item.position.Y - Main.screenPosition.Y + (float)(Main.itemTexture[item.type].Height / 2) + num4 + 2f), new Rectangle?(new Rectangle(0, 0, Main.itemTexture[item.type].Width, Main.itemTexture[item.type].Height)), item.GetColor(color), rotation, new Vector2((float)(Main.itemTexture[item.type].Width / 2), (float)(Main.itemTexture[item.type].Height / 2)), num3, SpriteEffects.None, 0f); } }
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); }
//near end of Terraria.Main.DrawItem before default drawing call // if(ItemLoader.animations.Contains(item.type)) // { ItemLoader.DrawAnimatedItem(item, whoAmI, color, alpha, rotation, scale); return; } internal static void DrawAnimatedItem(Item item, int whoAmI, Color color, Color alpha, float rotation, float scale) { int frameCount = Main.itemAnimations[item.type].FrameCount; int frameDuration = Main.itemAnimations[item.type].TicksPerFrame; Main.itemFrameCounter[whoAmI]++; if (Main.itemFrameCounter[whoAmI] >= frameDuration) { Main.itemFrameCounter[whoAmI] = 0; Main.itemFrame[whoAmI]++; } if (Main.itemFrame[whoAmI] >= frameCount) { Main.itemFrame[whoAmI] = 0; } Rectangle frame = Main.itemTexture[item.type].Frame(1, frameCount, 0, Main.itemFrame[whoAmI]); float offX = (float)(item.width / 2 - frame.Width / 2); float offY = (float)(item.height - frame.Height); Main.spriteBatch.Draw(Main.itemTexture[item.type], new Vector2(item.position.X - Main.screenPosition.X + (float)(frame.Width / 2) + offX, item.position.Y - Main.screenPosition.Y + (float)(frame.Height / 2) + offY), new Rectangle?(frame), alpha, rotation, frame.Size() / 2f, scale, SpriteEffects.None, 0f); if (item.color != default(Color)) { Main.spriteBatch.Draw(Main.itemTexture[item.type], new Vector2(item.position.X - Main.screenPosition.X + (float)(frame.Width / 2) + offX, item.position.Y - Main.screenPosition.Y + (float)(frame.Height / 2) + offY), new Rectangle?(frame), item.GetColor(color), rotation, frame.Size() / 2f, scale, SpriteEffects.None, 0f); } }