971 {
972 Tile tile = Main.tile[
i,
j];
975 int type = tile.type;
976 if (tile.actuator())
977 {
979 }
980 if (!tile.active())
981 {
982 return;
983 }
985 {
986 case 144:
989 NetMessage.SendTileSquare(-1, i,
j);
990 break;
991 case 421:
992 if (!tile.actuator())
993 {
994 tile.type = 422;
996 NetMessage.SendTileSquare(-1, i,
j);
997 }
998 break;
999 case 422:
1000 if (!tile.actuator())
1001 {
1002 tile.type = 421;
1004 NetMessage.SendTileSquare(-1, i,
j);
1005 }
1006 break;
1007 }
1009 {
1010 if (!tile.actuator())
1011 {
1013 {
1014 tile.type -= 7;
1015 }
1016 else
1017 {
1018 tile.type += 7;
1019 }
1021 NetMessage.SendTileSquare(-1, i,
j);
1022 }
1023 return;
1024 }
1026 {
1027 int num = 18;
1028 if (tile.frameX >= num)
1029 {
1030 num = -num;
1031 }
1032 if (tile.frameX == 36)
1033 {
1034 num = 0;
1035 }
1037 tile.frameX = (
short)(tile.frameX + num);
1039 NetMessage.SendTileSquare(-1, i,
j);
1041 return;
1042 }
1044 {
1045 int num2 = tile.frameX % 54 / 18;
1046 int num3 = tile.frameY % 54 / 18;
1050 if (Main.tile[
num4,
num5].frameY >= 108)
1051 {
1053 }
1055 {
1057 {
1059 Main.tile[
k,
l].frameY = (
short)(Main.tile[
k,
l].frameY +
num6);
1060 }
1061 }
1062 NetMessage.SendTileSquare(-1,
num4 + 1,
num5 + 1, 3);
1063 return;
1064 }
1066 {
1067 int num7 = tile.frameX % 54 / 18;
1068 int num8 = tile.frameY % 54 / 18;
1072 if (Main.tile[
num9,
num10].frameX >= 54)
1073 {
1075 }
1077 {
1079 {
1081 Main.tile[
m,
n].frameX = (
short)(Main.tile[
m,
n].frameX +
num11);
1082 }
1083 }
1084 NetMessage.SendTileSquare(-1,
num9 + 1,
num10 + 1, 3);
1085 return;
1086 }
1088 {
1089 int num12 = tile.frameX % 36 / 18;
1090 int num13 = tile.frameY % 36 / 18;
1095 {
1097 }
1099 {
1101 {
1104 }
1105 }
1106 NetMessage.SendTileSquare(-1,
num14,
num15, 2, 2);
1107 return;
1108 }
1110 {
1111 int num19 = tile.frameX % 36 / 18;
1112 int num20 = tile.frameY % 54 / 18;
1116 {
1118 {
1120 }
1121 }
1122 if (!Main.fastForwardTimeToDawn && Main.sundialCooldown == 0)
1123 {
1124 Main.Sundialing();
1125 }
1126 NetMessage.SendTileSquare(-1,
num21,
num22, 2, 2);
1127 return;
1128 }
1130 {
1131 int num25 = tile.frameX % 36 / 18;
1132 int num26 = tile.frameY % 54 / 18;
1136 {
1138 {
1140 }
1141 }
1142 if (!Main.fastForwardTimeToDusk && Main.moondialCooldown == 0)
1143 {
1144 Main.Moondialing();
1145 }
1146 NetMessage.SendTileSquare(-1,
num27,
num28, 2, 2);
1147 return;
1148 }
1150 {
1151 int num31 = tile.frameX % 36 / 18;
1152 int num32 = tile.frameY % 36 / 18;
1156 {
1158 {
1160 }
1161 }
1162 if (Main.AnnouncementBoxDisabled)
1163 {
1164 return;
1165 }
1168 if (
num37 == -1 || Main.sign[
num37] ==
null ||
string.IsNullOrWhiteSpace(Main.sign[
num37].text))
1169 {
1170 return;
1171 }
1172 if (Main.AnnouncementBoxRange == -1)
1173 {
1174 if (Main.netMode == 0)
1175 {
1177 }
1178 else if (Main.netMode == 2)
1179 {
1181 }
1182 }
1183 else if (Main.netMode == 0)
1184 {
1185 if (Main.player[Main.myPlayer].Distance(
new Vector2(
num33 * 16 + 16,
num34 * 16 + 16)) <= (
float)Main.AnnouncementBoxRange)
1186 {
1188 }
1189 }
1190 else
1191 {
1192 if (Main.netMode != 2)
1193 {
1194 return;
1195 }
1197 {
1198 if (Main.player[
num38].active && Main.player[
num38].Distance(
new Vector2(
num33 * 16 + 16,
num34 * 16 + 16)) <= (
float)Main.AnnouncementBoxRange)
1199 {
1201 }
1202 }
1203 }
1204 return;
1205 }
1207 {
1209 return;
1210 }
1212 {
1213 int num39 = tile.frameX % 72 / 18;
1214 int num40 = tile.frameY % 54 / 18;
1217 int num43 = tile.frameY / 54;
1218 int num44 = tile.frameX / 72;
1221 {
1223 }
1226 {
1228 }
1230 {
1232 }
1234 {
1236 }
1238 {
1240 }
1241 bool flag = false;
1243 {
1245 {
1247 {
1250 }
1251 }
1252 flag = true;
1253 }
1255 {
1258 {
1260 {
1263 }
1264 }
1265 flag = true;
1266 }
1267 if (flag)
1268 {
1269 NetMessage.SendTileSquare(-1,
num41,
num42, 4, 3);
1270 }
1272 {
1275 {
1277 }
1279 {
1281 }
1282 }
1283 return;
1284 }
1286 {
1287 int num51 = tile.frameX % 54 / 18;
1288 int num52 = tile.frameY % 54 / 18;
1291 int num55 = tile.frameX / 54;
1294 {
1296 }
1299 {
1301 }
1303 {
1305 }
1307 {
1309 }
1311 {
1313 }
1316 {
1318 {
1320 {
1323 }
1324 }
1326 }
1328 {
1329 NetMessage.SendTileSquare(-1,
num53,
num54, 3, 3);
1330 }
1332 {
1333 float num60 = 12f + (float)Main.rand.Next(450) * 0.01f;
1334 float num61 = Main.rand.Next(85, 105);
1335 float num62 = Main.rand.Next(-35, 11);
1337 int damage = 0;
1338 float knockBack = 0f;
1340 if (tile.frameX / 54 == 0)
1341 {
1343 vector.X -= 12f;
1344 }
1345 else
1346 {
1347 vector.X += 12f;
1348 }
1356 }
1357 return;
1358 }
1360 {
1362 return;
1363 }
1365 {
1367 {
1368 tile.type = 131;
1370 NetMessage.SendTileSquare(-1, i,
j);
1371 }
1372 return;
1373 }
1375 {
1376 tile.type = 130;
1378 NetMessage.SendTileSquare(-1, i,
j);
1379 return;
1380 }
1382 {
1386 {
1388 }
1390 {
1391 NetMessage.SendData(19, -1, -1,
null, 3 -
value.ToInt(), i,
j,
num66);
1392 }
1393 return;
1394 }
1396 {
1399 NetMessage.SendData(19, -1, -1,
null, 4 +
flag4.ToInt(), i,
j);
1400 return;
1401 }
1403 {
1405 {
1406 NetMessage.SendData(19, -1, -1,
null, 1, i,
j);
1407 }
1408 return;
1409 }
1411 {
1413 if (Main.rand.Next(2) == 0)
1414 {
1416 }
1418 {
1420 {
1421 NetMessage.SendData(19, -1, -1,
null, 0, i,
j, -
num67);
1422 }
1423 }
1424 else
1425 {
1426 NetMessage.SendData(19, -1, -1,
null, 0, i,
j,
num67);
1427 }
1428 return;
1429 }
1431 {
1434 return;
1435 }
1436 if (
type == 497 || (
type == 15 && tile.frameY / 40 == 1) || (
type == 15 && tile.frameY / 40 == 20))
1437 {
1438 int num68 =
j - tile.frameY % 40 / 18;
1442 {
1444 }
1445 return;
1446 }
1448 {
1449 case 335:
1450 {
1451 int num156 =
j - tile.frameY / 18;
1452 int num157 =
i - tile.frameX / 18;
1458 {
1460 }
1461 break;
1462 }
1463 case 338:
1464 {
1465 int num75 =
j - tile.frameY / 18;
1466 int num76 =
i - tile.frameX / 18;
1470 {
1471 break;
1472 }
1475 {
1476 if (Main.projectile[
num77].active && Main.projectile[
num77].aiStyle == 73 && Main.projectile[
num77].ai[0] == (
float)
num76 && Main.projectile[
num77].ai[1] == (
float)
num75)
1477 {
1479 break;
1480 }
1481 }
1483 {
1484 int type3 = 419 + Main.rand.Next(4);
1485 Projectile.NewProjectile(
GetProjectileSource(
num76,
num75),
num76 * 16 + 8,
num75 * 16 + 2, 0f, 0f,
type3, 0, 0f, Main.myPlayer,
num76,
num75);
1486 }
1487 break;
1488 }
1489 case 235:
1490 {
1491 int num107 =
i - tile.frameX / 18;
1492 if (tile.wall == 87 && (
double)
j > Main.worldSurface && !
NPC.downedPlantBoss)
1493 {
1494 break;
1495 }
1497 {
1500 if (tile.halfBrick())
1501 {
1503 }
1504 }
1506 {
1509 if (tile.halfBrick())
1510 {
1512 }
1513 }
1514 break;
1515 }
1516 case 4:
1518 break;
1519 case 429:
1520 {
1521 int num78 = Main.tile[
i,
j].frameX / 18;
1529 {
1530 case 1:
1533 break;
1534 case 2:
1537 break;
1538 case 3:
1541 break;
1542 case 4:
1545 break;
1546 }
1548 {
1549 tile.frameX +=
num79;
1550 }
1551 else
1552 {
1553 tile.frameX -=
num79;
1554 }
1555 NetMessage.SendTileSquare(-1, i,
j);
1556 break;
1557 }
1558 case 149:
1560 break;
1561 case 244:
1562 {
1565 {
1566 }
1569 {
1570 }
1575 {
1577 }
1579 {
1581 {
1584 }
1585 }
1587 break;
1588 }
1589 case 565:
1590 {
1593 {
1594 }
1597 {
1598 }
1603 {
1605 }
1607 {
1609 {
1612 }
1613 }
1615 break;
1616 }
1617 case 42:
1619 break;
1620 case 93:
1622 break;
1623 case 95:
1624 case 100:
1625 case 126:
1626 case 173:
1627 case 564:
1629 break;
1630 case 593:
1631 {
1633 short num105 = (
short)((Main.tile[i,
j].frameX != 0) ? (-18) : 18);
1635 if (Main.netMode == 2)
1636 {
1637 NetMessage.SendTileSquare(-1, i,
j, 1, 1);
1638 }
1640 Animation.NewTemporaryAnimation(
num106, 593, i,
j);
1641 NetMessage.SendTemporaryAnimation(-1,
num106, 593, i,
j);
1642 break;
1643 }
1644 case 594:
1645 {
1648 {
1649 }
1651 int num81 = tile.frameX / 18;
1653 {
1655 }
1663 {
1665 {
1667 }
1668 }
1669 if (Main.netMode == 2)
1670 {
1671 NetMessage.SendTileSquare(-1,
num81,
num80, 2, 2);
1672 }
1676 break;
1677 }
1678 case 34:
1680 break;
1681 case 314:
1683 {
1684 Minecart.FlipSwitchTrack(i,
j);
1685 }
1686 break;
1687 case 33:
1688 case 49:
1689 case 174:
1690 case 372:
1691 case 646:
1693 break;
1694 case 92:
1696 break;
1697 case 137:
1698 {
1699 int num138 = tile.frameY / 18;
1706 {
1707 case 0:
1708 case 1:
1709 case 2:
1710 case 5:
1712 {
1713 int num147 = ((tile.frameX == 0) ? (-1) : ((tile.frameX == 18) ? 1 : 0));
1714 int num148 = ((tile.frameX >= 36) ? ((tile.frameX >= 72) ? 1 : (-1)) : 0);
1718 {
1722 }
1724 {
1728 }
1730 {
1734 }
1736 {
1740 }
1743 }
1744 break;
1745 case 3:
1746 {
1748 {
1749 break;
1750 }
1753 {
1755 {
1758 }
1759 }
1761 {
1766 switch (tile.frameX / 18)
1767 {
1768 case 0:
1769 case 1:
1772 break;
1773 case 2:
1776 break;
1777 case 3:
1780 break;
1781 case 4:
1784 break;
1785 }
1786 speedX = (float)(4 *
num145) + (float)Main.rand.Next(-20 + ((
num145 == 1) ? 20 : 0), 21 - ((
num145 == -1) ? 20 : 0)) * 0.05f;
1787 speedY = (float)(4 *
num146) + (float)Main.rand.Next(-20 + ((
num146 == 1) ? 20 : 0), 21 - ((
num146 == -1) ? 20 : 0)) * 0.05f;
1789 }
1790 break;
1791 }
1792 case 4:
1794 {
1797 switch (tile.frameX / 18)
1798 {
1799 case 0:
1800 case 1:
1803 break;
1804 case 2:
1807 break;
1808 case 3:
1811 break;
1812 case 4:
1815 break;
1816 }
1822 }
1823 break;
1824 }
1826 {
1827 case -10:
1829 {
1831 if (tile.frameX != 0)
1832 {
1834 }
1839 vector3.X += 10 *
num154;
1840 vector3.Y += 2f;
1841 }
1842 break;
1843 case -9:
1845 {
1847 if (tile.frameX != 0)
1848 {
1850 }
1855 vector3.X += 10 *
num150;
1856 vector3.Y += 2f;
1857 }
1858 break;
1859 case -8:
1861 {
1863 if (tile.frameX != 0)
1864 {
1866 }
1871 vector3.X += 10 *
num155;
1872 vector3.Y += 2f;
1873 }
1874 break;
1875 case -7:
1876 {
1878 {
1879 break;
1880 }
1884 {
1886 {
1889 }
1890 }
1892 {
1893 speedX = (float)Main.rand.Next(-20, 21) * 0.05f;
1894 speedY = 4f + (float)Main.rand.Next(0, 21) * 0.05f;
1897 vector3.Y += 6f;
1899 }
1900 break;
1901 }
1902 case -6:
1904 {
1910 vector3.Y += 10f;
1911 }
1912 break;
1913 }
1915 {
1917 }
1918 break;
1919 }
1920 case 443:
1922 break;
1923 case 531:
1924 {
1925 int num126 = tile.frameX / 36;
1926 int num127 = tile.frameY / 54;
1930 {
1932 vector2.Y += 28f;
1937 {
1939 }
1940 }
1941 break;
1942 }
1943 case 35:
1944 case 139:
1946 break;
1947 case 207:
1949 break;
1950 case 410:
1951 case 480:
1952 case 509:
1953 case 657:
1954 case 658:
1956 break;
1957 case 455:
1959 break;
1960 case 141:
1962 NetMessage.SendTileSquare(-1, i,
j);
1963 Projectile.NewProjectile(
GetProjectileSource(i,
j), i * 16 + 8,
j * 16 + 8, 0f, 0f, 108, 500, 10f, Main.myPlayer);
1964 break;
1965 case 210:
1967 break;
1968 case 142:
1969 case 143:
1970 {
1971 int num92 =
j - tile.frameY / 18;
1972 int num93 = tile.frameX / 18;
1974 {
1976 }
1983 {
1985 {
1987 {
1988 break;
1989 }
1993 {
1994 case 0:
1997 break;
1998 case 1:
2001 break;
2002 case 2:
2005 break;
2006 default:
2009 break;
2010 }
2014 }
2015 break;
2016 }
2018 {
2020 {
2021 break;
2022 }
2026 {
2027 case 0:
2030 break;
2031 case 1:
2034 break;
2035 case 2:
2038 break;
2039 default:
2042 break;
2043 }
2047 }
2048 break;
2049 }
2050 case 105:
2051 {
2052 int num108 =
j - tile.frameY / 18;
2053 int num109 = tile.frameX / 18;
2056 {
2059 }
2061 num109 =
i - tile.frameX % 36 / 18;
2062 num108 =
j - tile.frameY % 54 / 18;
2063 int num111 = tile.frameY / 54;
2079 {
2080 case 5:
2082 break;
2083 case 13:
2085 break;
2086 case 30:
2088 break;
2089 case 35:
2091 break;
2092 case 51:
2093 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 299, 538 });
2094 break;
2095 case 52:
2097 break;
2098 case 53:
2100 break;
2101 case 54:
2102 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 355, 358 });
2103 break;
2104 case 55:
2105 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 367, 366 });
2106 break;
2107 case 56:
2108 num115 = Utils.SelectRandom(Main.rand,
new short[5] { 359, 359, 359, 359, 360 });
2109 break;
2110 case 57:
2112 break;
2113 case 58:
2115 break;
2116 case 59:
2117 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 364, 362 });
2118 break;
2119 case 60:
2121 break;
2122 case 61:
2124 break;
2125 case 62:
2126 num115 = Utils.SelectRandom(Main.rand,
new short[3] { 487, 486, 485 });
2127 break;
2128 case 63:
2131 break;
2132 case 64:
2135 break;
2136 case 65:
2138 break;
2139 case 66:
2141 break;
2142 case 67:
2144 break;
2145 case 68:
2147 break;
2148 case 69:
2150 break;
2151 case 70:
2153 break;
2154 case 71:
2155 num115 = Utils.SelectRandom(Main.rand,
new short[3] { 170, 180, 171 });
2157 break;
2158 case 72:
2160 break;
2161 case 73:
2163 break;
2164 case 74:
2166 break;
2167 case 75:
2169 break;
2170 case 76:
2172 break;
2173 case 77:
2175 break;
2176 case 78:
2177 num115 = Utils.SelectRandom(Main.rand,
new short[6] { 595, 596, 599, 597, 600, 598 });
2178 break;
2179 case 79:
2180 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 616, 617 });
2181 break;
2182 case 80:
2183 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 671, 672 });
2184 break;
2185 case 81:
2187 break;
2188 case 82:
2189 num115 = Utils.SelectRandom(Main.rand,
new short[2] { 674, 675 });
2190 break;
2191 }
2193 {
2195 {
2197 }
2198 else
2199 {
2201 Utils.PoofOfSmoke(position);
2202 NetMessage.SendData(106, -1, -1,
null, (
int)position.
X, position.
Y);
2203 }
2204 }
2206 {
2208 {
2209 case 4:
2211 {
2213 }
2214 break;
2215 case 7:
2217 {
2219 }
2220 break;
2221 case 8:
2223 {
2225 }
2226 break;
2227 case 9:
2228 {
2231 {
2233 }
2235 {
2237 }
2238 break;
2239 }
2240 case 10:
2242 {
2244 }
2245 break;
2246 case 16:
2248 {
2250 {
2252 break;
2253 }
2257 }
2258 break;
2259 case 18:
2261 {
2263 }
2264 break;
2265 case 23:
2267 {
2269 }
2270 break;
2271 case 27:
2273 {
2275 }
2276 break;
2277 case 28:
2279 {
2281 }
2282 break;
2283 case 34:
2284 {
2286 {
2288 {
2290 tile2.type = 349;
2293 }
2294 }
2295 Animation.NewTemporaryAnimation(0, 349,
num109,
num108);
2296 if (Main.netMode == 2)
2297 {
2299 }
2300 break;
2301 }
2302 case 42:
2304 {
2306 }
2307 break;
2308 case 37:
2310 {
2312 }
2313 break;
2314 case 50:
2316 {
2318 {
2320 break;
2321 }
2325 }
2326 break;
2327 case 2:
2329 {
2331 }
2332 break;
2333 case 17:
2335 {
2337 }
2338 break;
2339 case 40:
2340 {
2342 {
2343 break;
2344 }
2349 {
2350 if (Main.npc[
num122].active && (Main.npc[
num122].type == 17 || Main.npc[
num122].type == 19 || Main.npc[
num122].type == 22 || Main.npc[
num122].type == 38 || Main.npc[
num122].type == 54 || Main.npc[
num122].type == 107 || Main.npc[
num122].type == 108 || Main.npc[
num122].type == 142 || Main.npc[
num122].type == 160 || Main.npc[
num122].type == 207 || Main.npc[
num122].type == 209 || Main.npc[
num122].type == 227 || Main.npc[
num122].type == 228 || Main.npc[
num122].type == 229 || Main.npc[
num122].type == 368 || Main.npc[
num122].type == 369 || Main.npc[
num122].type == 550 || Main.npc[
num122].type == 441 || Main.npc[
num122].type == 588))
2351 {
2355 {
2356 break;
2357 }
2358 }
2359 }
2361 {
2365 NetMessage.SendData(23, -1, -1,
null,
num123);
2366 }
2367 break;
2368 }
2369 case 41:
2370 {
2372 {
2373 break;
2374 }
2379 {
2380 if (Main.npc[
num118].active && (Main.npc[
num118].type == 18 || Main.npc[
num118].type == 20 || Main.npc[
num118].type == 124 || Main.npc[
num118].type == 178 || Main.npc[
num118].type == 208 || Main.npc[
num118].type == 353 || Main.npc[
num118].type == 633 || Main.npc[
num118].type == 663))
2381 {
2385 {
2386 break;
2387 }
2388 }
2389 }
2391 {
2395 NetMessage.SendData(23, -1, -1,
null,
num119);
2396 }
2397 break;
2398 }
2399 }
2400 }
2402 {
2403 Main.npc[
num114].value = 0f;
2404 Main.npc[
num114].npcSlots = 0f;
2405 Main.npc[
num114].SpawnedFromStatue =
true;
2406 Main.npc[
num114].CanBeReplacedByOtherNPCs =
true;
2407 }
2408 break;
2409 }
2410 case 349:
2411 {
2412 int num86 = tile.frameY / 18;
2417 {
2418 }
2428 {
2430 {
2432 }
2433 }
2434 if (Main.netMode == 2)
2435 {
2436 NetMessage.SendTileSquare(-1,
num88,
num87, 2, 3);
2437 }
2438 Animation.NewTemporaryAnimation((
num89 <= 0) ? 1 : 0, 349,
num88,
num87);
2439 break;
2440 }
2441 case 506:
2442 {
2443 int num69 = tile.frameY / 18;
2448 {
2449 }
2459 {
2461 {
2463 }
2464 }
2465 if (Main.netMode == 2)
2466 {
2467 NetMessage.SendTileSquare(-1,
num71,
num70, 2, 3);
2468 }
2469 break;
2470 }
2471 case 546:
2472 tile.type = 557;
2474 NetMessage.SendTileSquare(-1, i,
j);
2475 break;
2476 case 557:
2477 tile.type = 546;
2479 NetMessage.SendTileSquare(-1, i,
j);
2480 break;
2481 }
2482 }
static double Sqrt(double d)
static void ToggleManualParty()
static bool[] BasicChestFake
static NetworkText FromLiteral(string text)
static void ToggleCampFire(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static void Toggle2x2Light(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static Queue< Point16 > _LampsToCheck
static void ToggleLampPost(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static void ToggleLamp(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static void ToggleTorch(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn)
static void ToggleFirePlace(int i, int j, Tile theBlock, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static bool CheckMech(int i, int j, int time)
static IEntitySource GetProjectileSource(int sourceTileX, int sourceTileY)
static void ToggleCandle(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn)
static Vector2[] _teleport
static void ToggleHolidayLight(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn)
static void ActuateForced(int i, int j)
static void ToggleHangingLantern(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static IEntitySource GetItemSource(int sourceTileX, int sourceTileY)
static void ToggleChandelier(int i, int j, Tile tileCache, bool? forcedStateWhereTrueIsOn, bool doSkipWires)
static void SkipWire(int x, int y)
static void HitSwitch(int i, int j)
static void GeyserTrap(int i, int j)
static int _currentWireColor
static IEntitySource GetNPCSource(int sourceTileX, int sourceTileY)