Advertisement
Guest User

Untitled

a guest
Mar 26th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.95 KB | None | 0 0
  1. int num63 = 0;
  2. while ((float)num63 < (float)(Main.maxTilesX * Main.maxTilesY) * num3)
  3. {
  4. int num64 = WorldGen.genRand.Next(10, Main.maxTilesX - 10);
  5. int num65 = WorldGen.genRand.Next((int)Main.worldSurface - 1, Main.maxTilesY - 20);
  6. int num66 = num64 - 1;
  7. int num67 = num64 + 2;
  8. int num68 = num65 - 1;
  9. int num69 = num65 + 2;
  10. if (num66 < 10)
  11. {
  12. num66 = 10;
  13. }
  14. if (num67 > Main.maxTilesX - 10)
  15. {
  16. num67 = Main.maxTilesX - 10;
  17. }
  18. if (num68 < 10)
  19. {
  20. num68 = 10;
  21. }
  22. if (num69 > Main.maxTilesY - 10)
  23. {
  24. num69 = Main.maxTilesY - 10;
  25. }
  26. if (Main.tile[num64, num65] != null)
  27. {
  28. if (Main.tileAlch[(int)Main.tile[num64, num65].type])
  29. {
  30. WorldGen.GrowAlch(num64, num65);
  31. }
  32. if (Main.tile[num64, num65].liquid <= 32)
  33. {
  34. if (Main.tile[num64, num65].nactive())
  35. {
  36. WorldGen.hardUpdateWorld(num64, num65);
  37. if (Main.rand.Next(3000) == 0)
  38. {
  39. WorldGen.plantDye(num64, num65, false);
  40. }
  41. if (Main.rand.Next(4500) == 0)
  42. {
  43. WorldGen.plantDye(num64, num65, true);
  44. }
  45. if (Main.tile[num64, num65].type == 23 && !Main.tile[num64, num68].active() && WorldGen.genRand.Next(1) == 0)
  46. {
  47. WorldGen.PlaceTile(num64, num68, 24, true, false, -1, 0);
  48. if (Main.netMode == 2 && Main.tile[num64, num68].active())
  49. {
  50. NetMessage.SendTileSquare(-1, num64, num68, 1, TileChangeType.None);
  51. }
  52. }
  53. if (Main.tile[num64, num65].type == 32 && WorldGen.genRand.Next(3) == 0)
  54. {
  55. int RandWorldX0 = num64;
  56. int RandWorldX1 = num65;
  57. int RandWorldX2 = 0;
  58. if (Main.tile[RandWorldX0 + 1, RandWorldX1].active() && Main.tile[RandWorldX0 + 1, RandWorldX1].type == 32)
  59. {
  60. RandWorldX2++;
  61. }
  62. if (Main.tile[RandWorldX0 - 1, RandWorldX1].active() && Main.tile[RandWorldX0 - 1, RandWorldX1].type == 32)
  63. {
  64. RandWorldX2++;
  65. }
  66. if (Main.tile[RandWorldX0, RandWorldX1 + 1].active() && Main.tile[RandWorldX0, RandWorldX1 + 1].type == 32)
  67. {
  68. RandWorldX2++;
  69. }
  70. if (Main.tile[RandWorldX0, RandWorldX1 - 1].active() && Main.tile[RandWorldX0, RandWorldX1 - 1].type == 32)
  71. {
  72. RandWorldX2++;
  73. }
  74. if (RandWorldX2 < 3 || Main.tile[num64, num65].type == 23)
  75. {
  76. int RandWorldX3 = WorldGen.genRand.Next(4);
  77. if (RandWorldX3 == 0)
  78. {
  79. RandWorldX1--;
  80. }
  81. else if (RandWorldX3 == 1)
  82. {
  83. RandWorldX1++;
  84. }
  85. else if (RandWorldX3 == 2)
  86. {
  87. RandWorldX0--;
  88. }
  89. else if (RandWorldX3 == 3)
  90. {
  91. RandWorldX0++;
  92. }
  93. if (!Main.tile[RandWorldX0, RandWorldX1].active())
  94. {
  95. RandWorldX2 = 0;
  96. if (Main.tile[RandWorldX0 + 1, RandWorldX1].active() && Main.tile[RandWorldX0 + 1, RandWorldX1].type == 32)
  97. {
  98. RandWorldX2++;
  99. }
  100. if (Main.tile[RandWorldX0 - 1, RandWorldX1].active() && Main.tile[RandWorldX0 - 1, RandWorldX1].type == 32)
  101. {
  102. RandWorldX2++;
  103. }
  104. if (Main.tile[RandWorldX0, RandWorldX1 + 1].active() && Main.tile[RandWorldX0, RandWorldX1 + 1].type == 32)
  105. {
  106. RandWorldX2++;
  107. }
  108. if (Main.tile[RandWorldX0, RandWorldX1 - 1].active() && Main.tile[RandWorldX0, RandWorldX1 - 1].type == 32)
  109. {
  110. RandWorldX2++;
  111. }
  112. if (RandWorldX2 < 2)
  113. {
  114. int RandWorldX4 = 7;
  115. int RandWorldX5 = RandWorldX0 - RandWorldX4;
  116. int RandWorldX6 = RandWorldX0 + RandWorldX4;
  117. int RandWorldX7 = RandWorldX1 - RandWorldX4;
  118. int RandWorldX8 = RandWorldX1 + RandWorldX4;
  119. bool flag18 = false;
  120. for (int RandWorldX9 = RandWorldX5; RandWorldX9 < RandWorldX6; RandWorldX9++)
  121. {
  122. for (int RandWorldY0 = RandWorldX7; RandWorldY0 < RandWorldX8; RandWorldY0++)
  123. {
  124. if (Math.Abs(RandWorldX9 - RandWorldX0) * 2 + Math.Abs(RandWorldY0 - RandWorldX1) < 9 && Main.tile[RandWorldX9, RandWorldY0].active() && Main.tile[RandWorldX9, RandWorldY0].type == 23 && Main.tile[RandWorldX9, RandWorldY0 - 1].active() && Main.tile[RandWorldX9, RandWorldY0 - 1].type == 32 && Main.tile[RandWorldX9, RandWorldY0 - 1].liquid == 0)
  125. {
  126. flag18 = true;
  127. break;
  128. }
  129. }
  130. }
  131. if (flag18)
  132. {
  133. Main.tile[RandWorldX0, RandWorldX1].type = 32;
  134. Main.tile[RandWorldX0, RandWorldX1].active(true);
  135. WorldGen.SquareTileFrame(RandWorldX0, RandWorldX1, true);
  136. if (Main.netMode == 2)
  137. {
  138. NetMessage.SendTileSquare(-1, RandWorldX0, RandWorldX1, 3, TileChangeType.None);
  139. }
  140. }
  141. }
  142. }
  143. }
  144. }
  145. if (Main.tile[num64, num65].type == 352 && WorldGen.genRand.Next(3) == 0)
  146. {
  147. WorldGen.GrowSpike(num64, num65, 352, 199);
  148. }
  149. if (Main.tile[num64, num65].type == 199)
  150. {
  151. int type6 = (int)Main.tile[num64, num65].type;
  152. bool flag19 = false;
  153. for (int RandWorldY1 = num66; RandWorldY1 < num67; RandWorldY1++)
  154. {
  155. for (int RandWorldY2 = num68; RandWorldY2 < num69; RandWorldY2++)
  156. {
  157. if ((num64 != RandWorldY1 || num65 != RandWorldY2) && Main.tile[RandWorldY1, RandWorldY2].active() && Main.tile[RandWorldY1, RandWorldY2].type == 0)
  158. {
  159. WorldGen.SpreadGrass(RandWorldY1, RandWorldY2, 0, type6, false, Main.tile[num64, num65].color());
  160. if ((int)Main.tile[RandWorldY1, RandWorldY2].type == type6)
  161. {
  162. WorldGen.SquareTileFrame(RandWorldY1, RandWorldY2, true);
  163. flag19 = true;
  164. }
  165. }
  166. }
  167. }
  168. if (Main.netMode == 2 && flag19)
  169. {
  170. NetMessage.SendTileSquare(-1, num64, num65, 3, TileChangeType.None);
  171. }
  172. }
  173. if (Main.tile[num64, num65].type == 60)
  174. {
  175. int type7 = (int)Main.tile[num64, num65].type;
  176. if (!Main.tile[num64, num68].active() && WorldGen.genRand.Next(10) == 0)
  177. {
  178. WorldGen.PlaceTile(num64, num68, 61, true, false, -1, 0);
  179. if (Main.netMode == 2 && Main.tile[num64, num68].active())
  180. {
  181. NetMessage.SendTileSquare(-1, num64, num68, 1, TileChangeType.None);
  182. }
  183. }
  184. else if (WorldGen.genRand.Next(25) == 0 && Main.tile[num64, num68].liquid == 0)
  185. {
  186. if (Main.hardMode && NPC.downedMechBoss1 && NPC.downedMechBoss2 && NPC.downedMechBoss3 && WorldGen.genRand.Next(60) == 0)
  187. {
  188. bool flag20 = true;
  189. int RandWorldY3 = 150;
  190. for (int RandWorldY4 = num64 - RandWorldY3; RandWorldY4 < num64 + RandWorldY3; RandWorldY4 += 2)
  191. {
  192. for (int RandWorldY5 = num65 - RandWorldY3; RandWorldY5 < num65 + RandWorldY3; RandWorldY5 += 2)
  193. {
  194. if (RandWorldY4 > 1 && RandWorldY4 < Main.maxTilesX - 2 && RandWorldY5 > 1 && RandWorldY5 < Main.maxTilesY - 2 && Main.tile[RandWorldY4, RandWorldY5].active() && Main.tile[RandWorldY4, RandWorldY5].type == 238)
  195. {
  196. flag20 = false;
  197. break;
  198. }
  199. }
  200. }
  201. if (flag20)
  202. {
  203. WorldGen.PlaceJunglePlant(num64, num68, 238, 0, 0);
  204. WorldGen.SquareTileFrame(num64, num68, true);
  205. WorldGen.SquareTileFrame(num64 + 1, num68 + 1, true);
  206. if (Main.tile[num64, num68].type == 238 && Main.netMode == 2)
  207. {
  208. NetMessage.SendTileSquare(-1, num64, num68, 4, TileChangeType.None);
  209. }
  210. }
  211. }
  212. if (Main.hardMode && NPC.downedMechBossAny && WorldGen.genRand.Next(maxValue) == 0)
  213. {
  214. bool flag21 = true;
  215. int RandWorldY6 = 60;
  216. if (Main.expertMode)
  217. {
  218. RandWorldY6 -= 10;
  219. }
  220. for (int RandWorldY7 = num64 - RandWorldY6; RandWorldY7 < num64 + RandWorldY6; RandWorldY7 += 2)
  221. {
  222. for (int RandWorldY8 = num65 - RandWorldY6; RandWorldY8 < num65 + RandWorldY6; RandWorldY8 += 2)
  223. {
  224. if (RandWorldY7 > 1 && RandWorldY7 < Main.maxTilesX - 2 && RandWorldY8 > 1 && RandWorldY8 < Main.maxTilesY - 2 && Main.tile[RandWorldY7, RandWorldY8].active() && Main.tile[RandWorldY7, RandWorldY8].type == 236)
  225. {
  226. flag21 = false;
  227. break;
  228. }
  229. }
  230. }
  231. if (flag21)
  232. {
  233. WorldGen.PlaceJunglePlant(num64, num68, 236, WorldGen.genRand.Next(3), 0);
  234. WorldGen.SquareTileFrame(num64, num68, true);
  235. WorldGen.SquareTileFrame(num64 + 1, num68 + 1, true);
  236. if (Main.tile[num64, num68].type == 236 && Main.netMode == 2)
  237. {
  238. NetMessage.SendTileSquare(-1, num64, num68, 4, TileChangeType.None);
  239. }
  240. }
  241. }
  242. else
  243. {
  244. WorldGen.PlaceJunglePlant(num64, num68, 233, WorldGen.genRand.Next(8), 0);
  245. if (Main.tile[num64, num68].type == 233)
  246. {
  247. if (Main.netMode == 2)
  248. {
  249. NetMessage.SendTileSquare(-1, num64, num68, 4, TileChangeType.None);
  250. }
  251. else
  252. {
  253. WorldGen.PlaceJunglePlant(num64, num68, 233, WorldGen.genRand.Next(12), 1);
  254. if (Main.tile[num64, num68].type == 233 && Main.netMode == 2)
  255. {
  256. NetMessage.SendTileSquare(-1, num64, num68, 3, TileChangeType.None);
  257. }
  258. }
  259. }
  260. }
  261. }
  262. bool flag22 = false;
  263. for (int RandWorldY9 = num66; RandWorldY9 < num67; RandWorldY9++)
  264. {
  265. for (int num90 = num68; num90 < num69; num90++)
  266. {
  267. if ((num64 != RandWorldY9 || num65 != num90) && Main.tile[RandWorldY9, num90].active() && Main.tile[RandWorldY9, num90].type == 59)
  268. {
  269. WorldGen.SpreadGrass(RandWorldY9, num90, 59, type7, false, Main.tile[num64, num65].color());
  270. if ((int)Main.tile[RandWorldY9, num90].type == type7)
  271. {
  272. WorldGen.SquareTileFrame(RandWorldY9, num90, true);
  273. flag22 = true;
  274. }
  275. }
  276. }
  277. }
  278. if (Main.netMode == 2 && flag22)
  279. {
  280. NetMessage.SendTileSquare(-1, num64, num65, 3, TileChangeType.None);
  281. }
  282. }
  283. if (Main.tile[num64, num65].type == 61 && WorldGen.genRand.Next(3) == 0 && Main.tile[num64, num65].frameX < 144)
  284. {
  285. if (Main.rand.Next(4) == 0)
  286. {
  287. Main.tile[num64, num65].frameX = (short)(162 + WorldGen.genRand.Next(8) * 18);
  288. }
  289. Main.tile[num64, num65].type = 74;
  290. if (Main.netMode == 2)
  291. {
  292. NetMessage.SendTileSquare(-1, num64, num65, 3, TileChangeType.None);
  293. }
  294. }
  295. if ((Main.tile[num64, num65].type == 60 || Main.tile[num64, num65].type == 62) && WorldGen.genRand.Next(5) == 0 && !Main.tile[num64, num65 + 1].active() && !Main.tile[num64, num65 + 1].lava())
  296. {
  297. bool flag23 = false;
  298. for (int num91 = num65; num91 > num65 - 10; num91--)
  299. {
  300. if (Main.tile[num64, num91].bottomSlope())
  301. {
  302. flag23 = false;
  303. break;
  304. }
  305. if (Main.tile[num64, num91].active() && Main.tile[num64, num91].type == 60 && !Main.tile[num64, num91].bottomSlope())
  306. {
  307. flag23 = true;
  308. break;
  309. }
  310. }
  311. if (flag23)
  312. {
  313. int num92 = num64;
  314. int num93 = num65 + 1;
  315. Main.tile[num92, num93].type = 62;
  316. Main.tile[num92, num93].active(true);
  317. WorldGen.SquareTileFrame(num92, num93, true);
  318. if (Main.netMode == 2)
  319. {
  320. NetMessage.SendTileSquare(-1, num92, num93, 3, TileChangeType.None);
  321. }
  322. }
  323. }
  324. if ((Main.tile[num64, num65].type == 60 || Main.tile[num64, num65].type == 62) && WorldGen.genRand.Next(80) == 0 && !WorldGen.PlayerLOS(num64, num65))
  325. {
  326. bool flag24 = true;
  327. int num94 = num65;
  328. if (Main.tile[num64, num65].type == 60)
  329. {
  330. num94++;
  331. }
  332. for (int num95 = num64; num95 < num64 + 2; num95++)
  333. {
  334. int num96 = num94 - 1;
  335. if (!WorldGen.AnchorValid(Framing.GetTileSafely(num95, num96), AnchorType.SolidTile) || Main.tile[num95, num96].bottomSlope())
  336. {
  337. flag24 = false;
  338. }
  339. if (Main.tile[num95, num96].liquid > 0 || Main.wallHouse[(int)Main.tile[num95, num96].wall])
  340. {
  341. flag24 = false;
  342. }
  343. if (!flag24)
  344. {
  345. break;
  346. }
  347. for (int num97 = num94; num97 < num94 + 2; num97++)
  348. {
  349. if ((Main.tile[num95, num97].active() && (!Main.tileCut[(int)Main.tile[num95, num97].type] || Main.tile[num95, num97].type == 444)) || Main.tile[num95, num97].lava())
  350. {
  351. flag24 = false;
  352. }
  353. if (!flag24)
  354. {
  355. break;
  356. }
  357. }
  358. if (!flag24)
  359. {
  360. break;
  361. }
  362. }
  363. if (flag24 && WorldGen.CountNearBlocksTypes(num64, num65, 20, 1, new int[]
  364. {
  365. 444
  366. }) > 0)
  367. {
  368. flag24 = false;
  369. }
  370. if (flag24)
  371. {
  372. for (int num98 = num64; num98 < num64 + 2; num98++)
  373. {
  374. Main.tile[num98, num94 - 1].slope(0);
  375. Main.tile[num98, num94 - 1].halfBrick(false);
  376. for (int num99 = num94; num99 < num94 + 2; num99++)
  377. {
  378. if (Main.tile[num98, num99].active())
  379. {
  380. WorldGen.KillTile(num98, num99, false, false, false);
  381. }
  382. }
  383. }
  384. for (int num100 = num64; num100 < num64 + 2; num100++)
  385. {
  386. for (int num101 = num94; num101 < num94 + 2; num101++)
  387. {
  388. Main.tile[num100, num101].active(true);
  389. Main.tile[num100, num101].type = 444;
  390. Main.tile[num100, num101].frameX = (short)((num100 - num64) * 18);
  391. Main.tile[num100, num101].frameY = (short)((num101 - num94) * 18);
  392. }
  393. }
  394. if (Main.netMode == 2)
  395. {
  396. NetMessage.SendTileSquare(-1, num64, num94, 3, TileChangeType.None);
  397. }
  398. }
  399. }
  400. if (Main.tile[num64, num65].type == 69 && WorldGen.genRand.Next(3) == 0)
  401. {
  402. int num102 = num64;
  403. int num103 = num65;
  404. int num104 = 0;
  405. if (Main.tile[num102 + 1, num103].active() && Main.tile[num102 + 1, num103].type == 69)
  406. {
  407. num104++;
  408. }
  409. if (Main.tile[num102 - 1, num103].active() && Main.tile[num102 - 1, num103].type == 69)
  410. {
  411. num104++;
  412. }
  413. if (Main.tile[num102, num103 + 1].active() && Main.tile[num102, num103 + 1].type == 69)
  414. {
  415. num104++;
  416. }
  417. if (Main.tile[num102, num103 - 1].active() && Main.tile[num102, num103 - 1].type == 69)
  418. {
  419. num104++;
  420. }
  421. if (num104 < 3 || Main.tile[num64, num65].type == 60)
  422. {
  423. int num105 = WorldGen.genRand.Next(4);
  424. if (num105 == 0)
  425. {
  426. num103--;
  427. }
  428. else if (num105 == 1)
  429. {
  430. num103++;
  431. }
  432. else if (num105 == 2)
  433. {
  434. num102--;
  435. }
  436. else if (num105 == 3)
  437. {
  438. num102++;
  439. }
  440. if (!Main.tile[num102, num103].active())
  441. {
  442. num104 = 0;
  443. if (Main.tile[num102 + 1, num103].active() && Main.tile[num102 + 1, num103].type == 69)
  444. {
  445. num104++;
  446. }
  447. if (Main.tile[num102 - 1, num103].active() && Main.tile[num102 - 1, num103].type == 69)
  448. {
  449. num104++;
  450. }
  451. if (Main.tile[num102, num103 + 1].active() && Main.tile[num102, num103 + 1].type == 69)
  452. {
  453. num104++;
  454. }
  455. if (Main.tile[num102, num103 - 1].active() && Main.tile[num102, num103 - 1].type == 69)
  456. {
  457. num104++;
  458. }
  459. if (num104 < 2)
  460. {
  461. int num106 = 7;
  462. int num107 = num102 - num106;
  463. int num108 = num102 + num106;
  464. int num109 = num103 - num106;
  465. int num110 = num103 + num106;
  466. bool flag25 = false;
  467. for (int num111 = num107; num111 < num108; num111++)
  468. {
  469. for (int num112 = num109; num112 < num110; num112++)
  470. {
  471. if (Math.Abs(num111 - num102) * 2 + Math.Abs(num112 - num103) < 9 && Main.tile[num111, num112].active() && Main.tile[num111, num112].type == 60 && Main.tile[num111, num112 - 1].active() && Main.tile[num111, num112 - 1].type == 69 && Main.tile[num111, num112 - 1].liquid == 0)
  472. {
  473. flag25 = true;
  474. break;
  475. }
  476. }
  477. }
  478. if (flag25)
  479. {
  480. Main.tile[num102, num103].type = 69;
  481. Main.tile[num102, num103].active(true);
  482. WorldGen.SquareTileFrame(num102, num103, true);
  483. if (Main.netMode == 2)
  484. {
  485. NetMessage.SendTileSquare(-1, num102, num103, 3, TileChangeType.None);
  486. }
  487. }
  488. }
  489. }
  490. }
  491. }
  492. else if (Main.tile[num64, num65].type == 147 || Main.tile[num64, num65].type == 161 || Main.tile[num64, num65].type == 163 || Main.tile[num64, num65].type == 164 || Main.tile[num64, num65].type == 200)
  493. {
  494. if (Main.rand.Next(10) == 0 && !Main.tile[num64, num65 + 1].active() && !Main.tile[num64, num65 + 2].active())
  495. {
  496. int num113 = num64 - 3;
  497. int num114 = num64 + 4;
  498. int num115 = 0;
  499. for (int num116 = num113; num116 < num114; num116++)
  500. {
  501. if (Main.tile[num116, num65].type == 165 && Main.tile[num116, num65].active())
  502. {
  503. num115++;
  504. }
  505. if (Main.tile[num116, num65 + 1].type == 165 && Main.tile[num116, num65 + 1].active())
  506. {
  507. num115++;
  508. }
  509. if (Main.tile[num116, num65 + 2].type == 165 && Main.tile[num116, num65 + 2].active())
  510. {
  511. num115++;
  512. }
  513. if (Main.tile[num116, num65 + 3].type == 165 && Main.tile[num116, num65 + 3].active())
  514. {
  515. num115++;
  516. }
  517. }
  518. if (num115 < 2)
  519. {
  520. WorldGen.PlaceTight(num64, num65 + 1, 165, false);
  521. WorldGen.SquareTileFrame(num64, num65 + 1, true);
  522. if (Main.netMode == 2 && Main.tile[num64, num65 + 1].active())
  523. {
  524. NetMessage.SendTileSquare(-1, num64, num65 + 1, 3, TileChangeType.None);
  525. }
  526. }
  527. }
  528. }
  529. else if (Main.tileMoss[(int)Main.tile[num64, num65].type])
  530. {
  531. int type8 = (int)Main.tile[num64, num65].type;
  532. bool flag26 = false;
  533. for (int num117 = num66; num117 < num67; num117++)
  534. {
  535. for (int num118 = num68; num118 < num69; num118++)
  536. {
  537. if ((num64 != num117 || num65 != num118) && Main.tile[num117, num118].active() && Main.tile[num117, num118].type == 1)
  538. {
  539. WorldGen.SpreadGrass(num117, num118, 1, type8, false, Main.tile[num64, num65].color());
  540. if ((int)Main.tile[num117, num118].type == type8)
  541. {
  542. WorldGen.SquareTileFrame(num117, num118, true);
  543. flag26 = true;
  544. }
  545. }
  546. }
  547. }
  548. if (Main.netMode == 2 && flag26)
  549. {
  550. NetMessage.SendTileSquare(-1, num64, num65, 3, TileChangeType.None);
  551. }
  552. if (WorldGen.genRand.Next(6) == 0)
  553. {
  554. int num119 = num64;
  555. int num120 = num65;
  556. int num121 = WorldGen.genRand.Next(4);
  557. if (num121 == 0)
  558. {
  559. num119--;
  560. }
  561. else if (num121 == 1)
  562. {
  563. num119++;
  564. }
  565. else if (num121 == 2)
  566. {
  567. num120--;
  568. }
  569. else
  570. {
  571. num120++;
  572. }
  573. if (!Main.tile[num119, num120].active())
  574. {
  575. WorldGen.PlaceTile(num119, num120, 184, true, false, -1, 0);
  576. if (Main.netMode == 2 && Main.tile[num119, num120].active())
  577. {
  578. NetMessage.SendTileSquare(-1, num119, num120, 1, TileChangeType.None);
  579. }
  580. }
  581. }
  582. }
  583. if (Main.tile[num64, num65].type == 70)
  584. {
  585. int type9 = (int)Main.tile[num64, num65].type;
  586. if (!Main.tile[num64, num68].active() && WorldGen.genRand.Next(10) == 0)
  587. {
  588. WorldGen.PlaceTile(num64, num68, 71, true, false, -1, 0);
  589. if (Main.netMode == 2 && Main.tile[num64, num68].active())
  590. {
  591. NetMessage.SendTileSquare(-1, num64, num68, 1, TileChangeType.None);
  592. }
  593. }
  594. if (WorldGen.genRand.Next(200) == 0)
  595. {
  596. bool flag27 = WorldGen.GrowShroom(num64, num65);
  597. if (flag27 && WorldGen.PlayerLOS(num64, num65))
  598. {
  599. WorldGen.TreeGrowFXCheck(num64, num65 - 1);
  600. }
  601. }
  602. bool flag28 = false;
  603. for (int num122 = num66; num122 < num67; num122++)
  604. {
  605. for (int num123 = num68; num123 < num69; num123++)
  606. {
  607. if ((num64 != num122 || num65 != num123) && Main.tile[num122, num123].active() && Main.tile[num122, num123].type == 59)
  608. {
  609. WorldGen.SpreadGrass(num122, num123, 59, type9, false, Main.tile[num64, num65].color());
  610. if ((int)Main.tile[num122, num123].type == type9)
  611. {
  612. WorldGen.SquareTileFrame(num122, num123, true);
  613. flag28 = true;
  614. }
  615. }
  616. }
  617. }
  618. if (Main.netMode == 2 && flag28)
  619. {
  620. NetMessage.SendTileSquare(-1, num64, num65, 3, TileChangeType.None);
  621. }
  622. }
  623. }
  624. else
  625. {
  626. if (Main.tile[num64, num65].wall == 62 && Main.tile[num64, num65].liquid == 0 && WorldGen.genRand.Next(10) == 0)
  627. {
  628. int num124 = WorldGen.genRand.Next(2, 4);
  629. int num125 = num64 - num124;
  630. int num126 = num64 + num124;
  631. int num127 = num65 - num124;
  632. int num128 = num65 + num124;
  633. bool flag29 = false;
  634. for (int num129 = num125; num129 <= num126; num129++)
  635. {
  636. for (int num130 = num127; num130 <= num128; num130++)
  637. {
  638. if (WorldGen.SolidTile(num129, num130))
  639. {
  640. flag29 = true;
  641. break;
  642. }
  643. }
  644. }
  645. if (flag29 && !Main.tile[num64, num65].active())
  646. {
  647. WorldGen.PlaceTile(num64, num65, 51, true, false, -1, 0);
  648. WorldGen.TileFrame(num64, num65, true, false);
  649. if (Main.netMode == 2)
  650. {
  651. NetMessage.SendTileSquare(-1, num64, num65, 3, TileChangeType.None);
  652. }
  653. }
  654. }
  655. if (flag)
  656. {
  657. WorldGen.TrySpawningTownNPC(num64, num65);
  658. }
  659. }
  660. }
  661. if (Main.tile[num64, num65].wall == 81 || Main.tile[num64, num65].wall == 83 || (Main.tile[num64, num65].type == 199 && Main.tile[num64, num65].active()))
  662. {
  663. int num131 = num64 + WorldGen.genRand.Next(-2, 3);
  664. int num132 = num65 + WorldGen.genRand.Next(-2, 3);
  665. if (Main.tile[num131, num132].wall >= 63 && Main.tile[num131, num132].wall <= 68)
  666. {
  667. bool flag30 = false;
  668. for (int num133 = num64 - num; num133 < num64 + num; num133++)
  669. {
  670. for (int num134 = num65 - num; num134 < num65 + num; num134++)
  671. {
  672. if (Main.tile[num64, num65].active())
  673. {
  674. int type10 = (int)Main.tile[num64, num65].type;
  675. if (type10 == 199 || type10 == 200 || type10 == 201 || type10 == 203 || type10 == 205 || type10 == 234 || type10 == 352)
  676. {
  677. flag30 = true;
  678. break;
  679. }
  680. }
  681. }
  682. }
  683. if (flag30)
  684. {
  685. Main.tile[num131, num132].wall = 81;
  686. if (Main.netMode == 2)
  687. {
  688. NetMessage.SendTileSquare(-1, num131, num132, 3, TileChangeType.None);
  689. }
  690. }
  691. }
  692. }
  693. if (Main.tile[num64, num65].wall == 69 || Main.tile[num64, num65].wall == 3 || (Main.tile[num64, num65].type == 23 && Main.tile[num64, num65].active()))
  694. {
  695. int num135 = num64 + WorldGen.genRand.Next(-2, 3);
  696. int num136 = num65 + WorldGen.genRand.Next(-2, 3);
  697. if (Main.tile[num135, num136].wall >= 63 && Main.tile[num135, num136].wall <= 68)
  698. {
  699. bool flag31 = false;
  700. for (int num137 = num64 - num; num137 < num64 + num; num137++)
  701. {
  702. for (int num138 = num65 - num; num138 < num65 + num; num138++)
  703. {
  704. if (Main.tile[num64, num65].active())
  705. {
  706. int type11 = (int)Main.tile[num64, num65].type;
  707. if (type11 == 22 || type11 == 23 || type11 == 24 || type11 == 25 || type11 == 32 || type11 == 112 || type11 == 163)
  708. {
  709. flag31 = true;
  710. break;
  711. }
  712. }
  713. }
  714. }
  715. if (flag31)
  716. {
  717. Main.tile[num135, num136].wall = 69;
  718. if (Main.netMode == 2)
  719. {
  720. NetMessage.SendTileSquare(-1, num135, num136, 3, TileChangeType.None);
  721. }
  722. }
  723. }
  724. }
  725. if (Main.tile[num64, num65].wall == 70 || (Main.tile[num64, num65].type == 109 && Main.tile[num64, num65].active()))
  726. {
  727. int num139 = num64 + WorldGen.genRand.Next(-2, 3);
  728. int num140 = num65 + WorldGen.genRand.Next(-2, 3);
  729. if (Main.tile[num139, num140].wall == 63 || Main.tile[num139, num140].wall == 65 || Main.tile[num139, num140].wall == 66 || Main.tile[num139, num140].wall == 68)
  730. {
  731. bool flag32 = false;
  732. for (int num141 = num64 - num; num141 < num64 + num; num141++)
  733. {
  734. for (int num142 = num65 - num; num142 < num65 + num; num142++)
  735. {
  736. if (Main.tile[num64, num65].active())
  737. {
  738. int type12 = (int)Main.tile[num64, num65].type;
  739. if (type12 == 109 || type12 == 110 || type12 == 113 || type12 == 115 || type12 == 116 || type12 == 117 || type12 == 164)
  740. {
  741. flag32 = true;
  742. break;
  743. }
  744. }
  745. }
  746. }
  747. if (flag32)
  748. {
  749. Main.tile[num139, num140].wall = 70;
  750. if (Main.netMode == 2)
  751. {
  752. NetMessage.SendTileSquare(-1, num139, num140, 3, TileChangeType.None);
  753. }
  754. }
  755. }
  756. }
  757. WorldGen.SpreadDesertWalls(num, num64, num65);
  758. TileLoader.RandomUpdate(num64, num65, Main.tile[num64, num65].type);
  759. WallLoader.RandomUpdate(num64, num65, Main.tile[num64, num65].wall);
  760. }
  761. num63++;
  762. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement