1783 {
1784 if (Main.eclipse || !Main.dayTime || (Main.invasionType > 0 && Main.invasionDelay == 0 && Main.invasionSize > 0))
1785 {
1786 return;
1787 }
1788 for (
int i = 0;
i < 200;
i++)
1789 {
1790 if (Main.npc[i].active && Main.npc[i].type == 368)
1791 {
1792 return;
1793 }
1794 }
1795 Chest.SetupTravelShop();
1796 NetMessage.SendTravelShop(-1);
1797 int num = 0;
1798 int[]
array =
new int[200];
1800 for (
int j = 0;
j < 200;
j++)
1801 {
1802 if (Main.npc[
j].active && Main.npc[
j].townNPC && Main.npc[
j].type != 37 && !Main.npc[
j].homeless)
1803 {
1806 }
1807 }
1809 {
1810 return;
1811 }
1813 bestX = Main.npc[num].homeTileX;
1814 bestY = Main.npc[num].homeTileY;
1819 while (
num5 >
bestX - 10 && (
SolidTile(
num5,
num4) || Main.tileSolidTop[Main.tile[
num5,
num4].type]) && (!Main.tile[
num5,
num4 - 1].active() || !Main.tileSolid[Main.tile[
num5,
num4 - 1].type] || Main.tileSolidTop[Main.tile[
num5,
num4 - 1].type]) && (!Main.tile[
num5,
num4 - 2].active() || !Main.tileSolid[Main.tile[
num5,
num4 - 2].type] || Main.tileSolidTop[Main.tile[
num5,
num4 - 2].type]) && (!Main.tile[
num5,
num4 - 3].active() || !Main.tileSolid[Main.tile[
num5,
num4 - 3].type] || Main.tileSolidTop[Main.tile[
num5,
num4 - 3].type]))
1820 {
1823 }
1824 for (
int k =
bestX;
k <
bestX + 10 && (
SolidTile(
k,
num4) || Main.tileSolidTop[Main.tile[
k,
num4].type]) && (!Main.tile[
k,
num4 - 1].active() || !Main.tileSolid[Main.tile[
k,
num4 - 1].type] || Main.tileSolidTop[Main.tile[
k,
num4 - 1].type]) && (!Main.tile[
k,
num4 - 2].active() || !Main.tileSolid[Main.tile[
k,
num4 - 2].type] || Main.tileSolidTop[Main.tile[
k,
num4 - 2].type]) && (!Main.tile[
k,
num4 - 3].active() || !Main.tileSolid[Main.tile[
k,
num4 - 3].type] || Main.tileSolidTop[Main.tile[
k,
num4 - 3].type]);
k++)
1825 {
1827 }
1828 for (
int l = 0;
l < 30;
l++)
1829 {
1832 {
1834 {
1836 break;
1837 }
1838 }
1840 {
1842 break;
1843 }
1844 }
1847 bool flag = false;
1848 if (!flag && !((
double)
num8 > Main.worldSurface))
1849 {
1850 for (
int m = 20;
m < 500;
m++)
1851 {
1852 for (
int n = 0;
n < 2;
n++)
1853 {
1855 if (
num7 > 10 &&
num7 < Main.maxTilesX - 10)
1856 {
1860 {
1862 }
1863 if (
num10 > Main.worldSurface)
1864 {
1865 num10 = Main.worldSurface;
1866 }
1868 {
1870 if (!Main.tile[
num7,
num8].nactive() || !Main.tileSolid[Main.tile[
num7,
num8].type])
1871 {
1872 continue;
1873 }
1875 {
1876 break;
1877 }
1878 flag = true;
1881 {
1883 {
1884 flag = false;
1885 break;
1886 }
1887 }
1888 break;
1889 }
1890 }
1891 if (flag)
1892 {
1893 break;
1894 }
1895 }
1896 if (flag)
1897 {
1898 break;
1899 }
1900 }
1901 }
1905 Main.npc[
num13].homeless =
true;
1907 {
1908 Main.npc[
num13].direction = 1;
1909 }
1911 {
1912 Main.npc[
num13].direction = -1;
1913 }
1914 Main.npc[
num13].netUpdate =
true;
1916 if (Main.netMode == 0)
1917 {
1919 }
1920 else if (Main.netMode == 2)
1921 {
1923 }
1924 }
static void BroadcastChatMessage(NetworkText text, Color color, int excludedPlayer=-1)
static string GetTextValue(string key)
static NetworkText FromKey(string key, params object[] substitutions)
bool Intersects(Rectangle value)