86012 {
86013
86014
86015
86016
86017
86018
86019
86020
86021
86022
86024 {
86026 return;
86027 }
86029 bool flag = (double)Main.windSpeedTarget < -0.4 || (
double)Main.windSpeedTarget > 0.4;
86037 for (int i = 0; i < 255; i++)
86038 {
86039 if (Main.player[i].active)
86040 {
86042 }
86043 }
86045 for (
int j = 0;
j < 200;
j++)
86046 {
86047 if (Main.npc[
j].active)
86048 {
86049 switch (Main.npc[
j].type)
86050 {
86051 case 315:
86052 case 325:
86053 case 327:
86054 case 328:
86055 case 344:
86056 case 345:
86057 case 346:
86058 num57 += Main.npc[
j].npcSlots;
86059 break;
86060 }
86061 }
86062 }
86065 Rectangle
rectangle =
default(Rectangle);
86067 for (
int k = 0;
k < 255;
k++)
86068 {
86069 if (!Main.player[
k].active || Main.player[
k].dead)
86070 {
86071 continue;
86072 }
86075 {
86076 continue;
86077 }
86078 if (Main.slimeRain)
86079 {
86081 }
86088 bool flag2 =
false;
86089 bool flag3 =
false;
86090 bool flag4 =
false;
86091 bool flag5 =
false;
86094 if (Main.player[
k].active && Main.invasionType > 0 && Main.invasionDelay == 0 && Main.invasionSize > 0 && ((
double)Main.player[
k].position.Y < Main.worldSurface * 16.0 + (
double)
sHeight || Main.remixWorld))
86095 {
86097 if ((
double)Main.player[
k].position.X > Main.invasionX * 16.0 - (
double)
num78 && (
double)Main.player[
k].position.X < Main.invasionX * 16.0 + (
double)
num78)
86098 {
86100 }
86101 else if (Main.invasionX >= (double)(Main.maxTilesX / 2 - 5) && Main.invasionX <= (double)(Main.maxTilesX / 2 + 5))
86102 {
86103 for (
int l = 0;
l < 200;
l++)
86104 {
86105 if (Main.npc[
l].townNPC &&
Math.Abs(Main.player[
k].position.X - Main.npc[
l].Center.X) < (
float)
num78)
86106 {
86107 if (Main.rand.Next(3) != 0)
86108 {
86110 }
86111 break;
86112 }
86113 }
86114 }
86115 }
86116 if (Main.player[
k].ZoneTowerSolar || Main.player[
k].ZoneTowerNebula || Main.player[
k].ZoneTowerVortex || Main.player[
k].ZoneTowerStardust)
86117 {
86119 }
86120 int num89 = (int)(Main.player[
k].position.X + (
float)(Main.player[
k].width / 2)) / 16;
86121 int num100 = (int)(Main.player[
k].position.Y + (
float)(Main.player[
k].height / 2)) / 16;
86122 if (Main.wallHouse[Main.tile[
num89,
num100].wall])
86123 {
86125 }
86127 {
86129 }
86133 if (Main.hardMode)
86134 {
86137 }
86138 if (Main.player[
k].position.Y > (
float)(Main.UnderworldLayer * 16))
86139 {
86141 }
86142 else if ((
double)Main.player[
k].position.Y > Main.rockLayer * 16.0 + (double)
sHeight)
86143 {
86144 if (Main.remixWorld)
86145 {
86146 if (Main.hardMode)
86147 {
86150 }
86151 else
86152 {
86155 }
86156 }
86157 else
86158 {
86161 }
86162 }
86163 else if ((
double)Main.player[
k].position.Y > Main.worldSurface * 16.0 + (double)
sHeight)
86164 {
86165 if (Main.remixWorld)
86166 {
86169 }
86170 else if (Main.hardMode)
86171 {
86174 }
86175 else
86176 {
86179 }
86180 }
86181 else if (Main.remixWorld)
86182 {
86183 if (!Main.dayTime)
86184 {
86187 }
86188 }
86189 else if (!Main.dayTime)
86190 {
86193 if (Main.bloodMoon)
86194 {
86197 }
86198 if ((Main.pumpkinMoon || Main.snowMoon) && (double)Main.player[
k].position.Y < Main.worldSurface * 16.0)
86199 {
86202 }
86203 }
86204 else if (Main.dayTime && Main.eclipse)
86205 {
86208 }
86209 if (Main.remixWorld)
86210 {
86211 if (!Main.dayTime)
86212 {
86213 if (Main.bloodMoon)
86214 {
86217 if ((
double)Main.player[
k].position.Y > Main.rockLayer * 16.0 + (double)
sHeight)
86218 {
86220 }
86221 }
86222 if (Main.pumpkinMoon || Main.snowMoon)
86223 {
86226 if ((
double)Main.player[
k].position.Y > Main.rockLayer * 16.0 + (double)
sHeight)
86227 {
86229 }
86230 }
86231 }
86232 else if (Main.dayTime && Main.eclipse)
86233 {
86236 }
86237 }
86238 if (Main.player[
k].ZoneSnow && (
double)(Main.player[
k].position.Y / 16
f) < Main.worldSurface)
86239 {
86242 }
86243 if (Main.drunkWorld && Main.tile[
num89,
num100].wall == 86)
86244 {
86247 }
86248 if (Main.player[
k].ZoneDungeon)
86249 {
86252 }
86253 else if (Main.player[
k].ZoneSandstorm)
86254 {
86257 }
86258 else if (Main.player[
k].ZoneUndergroundDesert)
86259 {
86262 }
86263 else if (Main.player[
k].ZoneJungle)
86264 {
86265 if (Main.player[
k].townNPCs == 0
f)
86266 {
86269 }
86270 else if (Main.player[
k].townNPCs == 1
f)
86271 {
86274 }
86275 else if (Main.player[
k].townNPCs == 2
f)
86276 {
86279 }
86280 else
86281 {
86284 }
86285 }
86286 else if (Main.player[
k].ZoneCorrupt || Main.player[
k].ZoneCrimson)
86287 {
86290 }
86291 else if (Main.player[
k].ZoneMeteor)
86292 {
86295 }
86297 {
86300 if (Main.remixWorld)
86301 {
86304 }
86305 }
86306 if (Main.remixWorld && (Main.player[
k].ZoneCorrupt || Main.player[
k].ZoneCrimson) && (double)(Main.player[
k].position.Y / 16
f) < Main.worldSurface)
86307 {
86310 }
86311 if (Main.player[
k].ZoneHallow && (
double)Main.player[
k].position.Y > Main.rockLayer * 16.0 + (double)
sHeight)
86312 {
86315 }
86316 if (Main.wofNPCIndex >= 0 && Main.player[
k].position.Y > (
float)(Main.UnderworldLayer * 16))
86317 {
86320 }
86321 if ((
double)Main.player[
k].nearbyActiveNPCs < (double)
maxSpawns * 0.2)
86322 {
86324 }
86325 else if ((
double)Main.player[
k].nearbyActiveNPCs < (double)
maxSpawns * 0.4)
86326 {
86328 }
86329 else if ((
double)Main.player[
k].nearbyActiveNPCs < (double)
maxSpawns * 0.6)
86330 {
86332 }
86333 else if ((
double)Main.player[
k].nearbyActiveNPCs < (double)
maxSpawns * 0.8)
86334 {
86336 }
86337 if ((
double)(Main.player[
k].position.Y / 16
f) > (Main.worldSurface + Main.rockLayer) / 2.0 || Main.player[
k].ZoneCorrupt || Main.player[
k].ZoneCrimson)
86338 {
86339 if ((
double)Main.player[
k].nearbyActiveNPCs < (double)
maxSpawns * 0.2)
86340 {
86342 }
86343 else if ((
double)Main.player[
k].nearbyActiveNPCs < (double)
maxSpawns * 0.4)
86344 {
86346 }
86347 }
86349 if (Main.remixWorld && (
double)(Main.player[
k].position.Y / 16
f) < Main.worldSurface && (Main.player[
k].ZoneCorrupt || Main.player[
k].ZoneCrimson))
86350 {
86354 }
86355 if (Main.player[
k].invis)
86356 {
86359 }
86360 if (Main.player[
k].calmed)
86361 {
86364 }
86365 if (Main.player[
k].sunflower)
86366 {
86369 }
86370 if (Main.player[
k].anglerSetSpawnReduction)
86371 {
86374 }
86375 if (Main.player[
k].enemySpawns)
86376 {
86379 }
86380 if (Main.player[
k].ZoneWaterCandle || Main.player[
k].inventory[Main.player[
k].selectedItem].type == 148)
86381 {
86382 if (!Main.player[
k].ZonePeaceCandle && Main.player[
k].inventory[Main.player[
k].selectedItem].type != 3117)
86383 {
86386 }
86387 }
86388 else if (Main.player[
k].ZonePeaceCandle || Main.player[
k].inventory[Main.player[
k].selectedItem].type == 3117)
86389 {
86392 }
86393 if (Main.player[
k].ZoneShadowCandle || Main.player[
k].inventory[Main.player[
k].selectedItem].type == 5322)
86394 {
86395 Main.player[
k].townNPCs = 0
f;
86396 }
86397 if (Main.player[
k].ZoneWaterCandle && (
double)(Main.player[
k].position.Y / 16
f) < Main.worldSurface * 0.3499999940395355)
86398 {
86400 }
86401 if (Main.player[
k].isNearFairy())
86402 {
86405 }
86407 {
86409 }
86411 {
86413 }
86414 if (Main.getGoodWorld)
86415 {
86418 }
86419 if (Main.GameModeInfo.IsJourneyMode)
86420 {
86423 {
86424 if (
power.GetShouldDisableSpawnsFor(
k))
86425 {
86426 continue;
86427 }
86429 {
86432 }
86433 }
86434 }
86435 if ((Main.pumpkinMoon || Main.snowMoon) && (Main.remixWorld || (double)Main.player[
k].position.Y < Main.worldSurface * 16.0))
86436 {
86439 }
86441 {
86444 }
86446 {
86449 }
86451 {
86453 }
86454 if (!
flag35 && ((!Main.bloodMoon && !Main.pumpkinMoon && !Main.snowMoon) || Main.dayTime) && (!Main.eclipse || !Main.dayTime) && !Main.player[
k].ZoneDungeon && !Main.player[
k].ZoneCorrupt && !Main.player[
k].ZoneCrimson && !Main.player[
k].ZoneMeteor && !Main.player[
k].ZoneOldOneArmy)
86455 {
86456 if (Main.player[
k].Center.Y / 16
f > (
float)Main.UnderworldLayer && (!Main.remixWorld || !((double)(Main.player[
k].Center.X / 16
f) > (double)Main.maxTilesX * 0.39 + 50.0) || !((double)(Main.player[
k].Center.X / 16
f) < (double)Main.maxTilesX * 0.61)))
86457 {
86458 if (Main.player[
k].townNPCs == 1
f)
86459 {
86460 if (Main.rand.Next(2) == 0)
86461 {
86463 }
86464 if (Main.rand.Next(10) == 0)
86465 {
86468 }
86469 else
86470 {
86472 }
86473 }
86474 else if (Main.player[
k].townNPCs == 2
f)
86475 {
86476 if (Main.rand.Next(4) != 0)
86477 {
86479 }
86480 if (Main.rand.Next(5) == 0)
86481 {
86484 }
86485 else
86486 {
86488 }
86489 }
86490 else if (Main.player[
k].townNPCs >= 3
f)
86491 {
86492 if (Main.rand.Next(10) != 0)
86493 {
86495 }
86496 if (Main.rand.Next(3) == 0)
86497 {
86500 }
86501 else
86502 {
86504 }
86505 }
86506 }
86507 else if (Main.player[
k].townNPCs == 1
f)
86508 {
86510 if (Main.player[
k].ZoneGraveyard)
86511 {
86513 if (Main.rand.Next(9) == 1)
86514 {
86517 }
86518 }
86519 else if (Main.rand.Next(3) == 1)
86520 {
86523 }
86524 else
86525 {
86527 }
86528 }
86529 else if (Main.player[
k].townNPCs == 2
f)
86530 {
86532 if (Main.player[
k].ZoneGraveyard)
86533 {
86535 if (Main.rand.Next(6) == 1)
86536 {
86539 }
86540 }
86541 else if (Main.rand.Next(3) != 0)
86542 {
86545 }
86546 else
86547 {
86549 }
86550 }
86551 else if (Main.player[
k].townNPCs >= 3
f)
86552 {
86554 if (Main.player[
k].ZoneGraveyard)
86555 {
86557 if (Main.rand.Next(3) == 1)
86558 {
86561 }
86562 }
86563 else
86564 {
86565 if (!Main.expertMode || Main.rand.Next(30) != 0)
86566 {
86568 }
86570 }
86571 }
86572 }
86574 bool flag7 =
false;
86575 if (Main.player[
k].active && !Main.player[
k].dead && Main.player[
k].nearbyActiveNPCs < (
float)
maxSpawns && Main.rand.Next(
spawnRate) == 0)
86576 {
86577 bool flag8 = Main.player[
k].ZoneTowerNebula || Main.player[
k].ZoneTowerSolar || Main.player[
k].ZoneTowerStardust || Main.player[
k].ZoneTowerVortex;
86582 if (Main.player[
k].inventory[Main.player[
k].selectedItem].type == 1254 || Main.player[
k].inventory[Main.player[
k].selectedItem].type == 1299 || Main.player[
k].scope)
86583 {
86584 float num13 = 1.5f;
86585 if (Main.player[
k].inventory[Main.player[
k].selectedItem].type == 1254 && Main.player[
k].scope)
86586 {
86588 }
86589 else if (Main.player[
k].inventory[Main.player[
k].selectedItem].type == 1254)
86590 {
86592 }
86593 else if (Main.player[
k].inventory[Main.player[
k].selectedItem].type == 1299)
86594 {
86596 }
86597 else if (Main.player[
k].scope)
86598 {
86600 }
86605 }
86616 {
86618 }
86619 if (
num17 > Main.maxTilesX)
86620 {
86621 num17 = Main.maxTilesX;
86622 }
86624 {
86626 }
86627 if (
num19 > Main.maxTilesY)
86628 {
86629 num19 = Main.maxTilesY;
86630 }
86631 for (
int m = 0;
m < 50;
m++)
86632 {
86636 {
86638 {
86639 continue;
86640 }
86641 if (!
flag35 && (
double)
num26 < Main.worldSurface * 0.3499999940395355 && !
flag4 && ((double)
num25 < (
double)Main.maxTilesX * 0.45 || (double)
num25 > (
double)Main.maxTilesX * 0.55 || Main.hardMode))
86642 {
86648 }
86649 else if (!
flag35 && (
double)
num26 < Main.worldSurface * 0.44999998807907104 && !
flag4 && Main.hardMode && Main.rand.Next(10) == 0)
86650 {
86656 }
86657 else
86658 {
86660 {
86661 if (Main.tile[
num25,
n].nactive() && Main.tileSolid[Main.tile[
num25,
n].type])
86662 {
86664 {
86669 }
86670 break;
86671 }
86672 }
86673 }
86674 if (Main.player[
k].ZoneShadowCandle)
86675 {
86677 }
86679 {
86681 }
86683 {
86689 {
86691 }
86692 if (
num28 > Main.maxTilesX)
86693 {
86695 }
86697 {
86699 }
86700 if (
num30 > Main.maxTilesY)
86701 {
86703 }
86705 {
86707 {
86709 {
86711 {
86713 break;
86714 }
86716 {
86718 break;
86719 }
86720 }
86721 }
86722 }
86724 {
86726 }
86727 }
86728 }
86730 {
86731 break;
86732 }
86733 }
86734 }
86736 {
86739 {
86740 if (Main.player[
num33].active)
86741 {
86744 {
86746 }
86747 }
86748 }
86749 }
86751 {
86752 if (Main.player[
k].ZoneDungeon && (!Main.tileDungeon[Main.tile[
num,
num24].type] || Main.tile[
num,
num24 - 1].wall == 0))
86753 {
86755 }
86756 if (Main.tile[
num,
num24 - 1].liquid > 0 && Main.tile[
num,
num24 - 2].liquid > 0 && !Main.tile[
num,
num24 - 1].lava())
86757 {
86758 if (Main.tile[
num,
num24 - 1].shimmer())
86759 {
86761 }
86762 if (Main.tile[
num,
num24 - 1].honey())
86763 {
86765 }
86766 else
86767 {
86769 }
86770 }
86771 int num34 = (int)Main.player[
k].Center.X / 16;
86772 int num36 = (int)(Main.player[
k].Bottom.Y + 8
f) / 16;
86773 spawnInfo.PlayerFloorX =
num34;
86774 spawnInfo.PlayerFloorY =
num36;
86775 if (Main.tile[
num,
num24].type == 367)
86776 {
86778 }
86779 else if (Main.tile[
num,
num24].type == 368)
86780 {
86782 }
86783 else if (Main.tile[
num34,
num36].type == 367)
86784 {
86786 }
86787 else if (Main.tile[
num34,
num36].type == 368)
86788 {
86790 }
86791 else
86792 {
86793 int num37 = Main.rand.Next(20, 31);
86794 int num38 = Main.rand.Next(1, 4);
86796 {
86798 }
86800 {
86802 }
86803 if (
num +
num37 >= Main.maxTilesX)
86804 {
86806 }
86808 {
86810 }
86812 {
86813 int num40 = Main.rand.Next(1, 4);
86815 {
86817 {
86819 }
86821 {
86823 }
86824 }
86825 }
86826 num37 = Main.rand.Next(30, 61);
86827 num38 = Main.rand.Next(3, 7);
86829 {
86831 }
86833 {
86835 }
86837 {
86839 }
86841 {
86843 }
86845 {
86846 int num43 = Main.rand.Next(3, 7);
86848 {
86850 {
86852 }
86854 {
86856 }
86857 }
86858 }
86859 }
86861 {
86863 }
86864 if ((
num35 == 477 ||
num35 == 492) && !Main.bloodMoon && !Main.eclipse && Main.invasionType <= 0 && !Main.pumpkinMoon && !Main.snowMoon && !Main.slimeRain && Main.rand.Next(100) < 10)
86865 {
86867 }
86868 }
86870 {
86871 continue;
86872 }
86873 if (Main.remixWorld)
86874 {
86876 }
86877 bool flag9 = (double)
num24 <= Main.rockLayer;
86878 if (Main.remixWorld)
86879 {
86880 flag9 = (double)
num24 > Main.rockLayer &&
num24 <= Main.maxTilesY - 190;
86881 }
86882 bool flag10 = (double)
num24 > Main.rockLayer &&
num24 < Main.UnderworldLayer;
86883 if (Main.dontStarveWorld)
86884 {
86886 }
86888 {
86889 if (Main.rand.Next(3) == 0)
86890 {
86891 int num45 = Main.rand.Next(5, 15);
86893 {
86895 {
86897 {
86899 {
86901 }
86902 }
86903 }
86904 }
86905 }
86906 else
86907 {
86908 int num49 = (int)Main.player[
k].position.X / 16;
86909 int num50 = (int)Main.player[
k].position.Y / 16;
86911 {
86913 }
86914 }
86915 }
86917 {
86918 if (Main.rand.Next(3) == 0)
86919 {
86920 int num51 = Main.rand.Next(5, 15);
86922 {
86924 {
86926 {
86928 {
86930 }
86931 }
86932 }
86933 }
86934 }
86935 else
86936 {
86937 int num54 = (int)Main.player[
k].position.X / 16;
86938 int num55 = (int)Main.player[
k].position.Y / 16;
86940 {
86942 }
86943 }
86944 }
86948 if (Main.tile[
num,
num24 - 2].wall == 244 || Main.tile[
num,
num24].wall == 244)
86949 {
86951 }
86953 bool flag13 = (double)
num24 <= Main.worldSurface;
86957 bool flag17 = Main.cloudAlpha > 0
f;
86959 if (Main.remixWorld)
86960 {
86963 if ((
double)
num24 < Main.worldSurface + 5.0)
86964 {
86965 Main.raining = false;
86966 Main.cloudAlpha = 0
f;
86967 Main.dayTime = false;
86968 }
86970 if (Main.player[
k].ZoneCorrupt || Main.player[
k].ZoneCrimson)
86971 {
86974 }
86975 if ((
double)
num < (
double)Main.maxTilesX * 0.43 || (
double)
num > (
double)Main.maxTilesX * 0.57)
86976 {
86977 if ((
double)
num24 > Main.rockLayer - 200.0 &&
num24 < Main.maxTilesY - 200 && Main.rand.Next(2) == 0)
86978 {
86980 }
86981 if ((
double)
num24 > Main.rockLayer - 200.0 &&
num24 < Main.maxTilesY - 200 && Main.rand.Next(2) == 0)
86982 {
86984 }
86985 }
86986 if ((
double)
num24 > Main.rockLayer - 20.0)
86987 {
86988 if (
num24 <= Main.maxTilesY - 190 && Main.rand.Next(3) != 0)
86989 {
86991 Main.dayTime = false;
86992 if (Main.rand.Next(2) == 0)
86993 {
86994 Main.dayTime = true;
86995 }
86996 }
86997 else if ((Main.bloodMoon || (Main.eclipse && Main.dayTime)) && (
double)
num > (
double)Main.maxTilesX * 0.38 + 50.0 && (
double)
num < (
double)Main.maxTilesX * 0.62)
86998 {
87000 }
87001 }
87002 }
87004 spawnInfo.SpawnTileX =
num;
87005 spawnInfo.SpawnTileY =
num24;
87006 spawnInfo.SpawnTileType =
num35;
87007 spawnInfo.Player = Main.player[
k];
87009 spawnInfo.Lihzahrd =
flag33;
87010 spawnInfo.PlayerSafe =
flag34;
87011 spawnInfo.Invasion =
flag35;
87012 spawnInfo.Water =
flag36;
87013 spawnInfo.Granite =
flag38;
87014 spawnInfo.Marble =
flag2;
87015 spawnInfo.SpiderCave =
flag3;
87016 spawnInfo.PlayerInTown =
flag4;
87017 spawnInfo.DesertCave =
flag5;
87018 spawnInfo.SafeRangeX =
flag7;
87022 {
87023 break;
87024 }
87027 {
87030 if (Main.player[
k].ZoneTowerNebula)
87031 {
87035 {
87036 num59 = Utils.SelectRandom<
int>(Main.rand, 424, 424, 424, 423, 423, 423, 421, 421, 421, 420, 420);
87039 {
87041 }
87043 {
87045 }
87047 {
87049 }
87050 }
87052 {
87054 }
87055 }
87056 else if (Main.player[
k].ZoneTowerVortex)
87057 {
87061 {
87062 num60 = Utils.SelectRandom<
int>(Main.rand, 429, 429, 429, 429, 427, 427, 425, 425, 426);
87065 {
87067 }
87069 {
87071 }
87073 {
87075 }
87076 }
87078 {
87080 }
87081 }
87082 else if (Main.player[
k].ZoneTowerStardust)
87083 {
87084 int num61 = Utils.SelectRandom<
int>(Main.rand, 411, 411, 411, 409, 409, 407, 402, 405);
87086 {
87088 }
87089 }
87090 else if (Main.player[
k].ZoneTowerSolar)
87091 {
87095 {
87096 num62 = Utils.SelectRandom<
int>(Main.rand, 518, 419, 418, 412, 417, 416, 415);
87098 if (
num62 == 418 && Main.rand.Next(2) == 0)
87099 {
87100 num62 = Utils.SelectRandom<
int>(Main.rand, 415, 416, 419, 417);
87101 }
87103 {
87105 }
87107 {
87109 }
87110 }
87112 {
87114 }
87115 }
87117 {
87120 bool flag21 = (float)
Math.Abs(
num - Main.maxTilesX / 2) / (float)(Main.maxTilesX / 2) > 0.33f && (Main.wallLight[Main.tile[
num89,
num100].wall] || Main.tile[
num89,
num100].wall == 73);
87122 {
87124 }
87125 if (Main.player[
k].ZoneWaterCandle)
87126 {
87129 }
87130 if (
flag35 && Main.invasionType == 4)
87131 {
87133 }
87135 {
87137 }
87139 {
87141 }
87142 else if (Main.hardMode && !
AnyNPCs(87) && !
flag34 && Main.rand.Next(10) == 0)
87143 {
87145 }
87146 else if (Main.hardMode && !
AnyNPCs(87) && !
flag34 && Main.rand.Next(10) == 0 && (Main.player[
k].inventory[Main.player[
k].selectedItem].type == 148 || Main.player[
k].ZoneWaterCandle))
87147 {
87149 }
87151 {
87153 }
87154 else
87155 {
87157 }
87158 }
87160 {
87161 if (Main.invasionType == 1)
87162 {
87163 if (Main.hardMode && !
AnyNPCs(471) && Main.rand.Next(30) == 0)
87164 {
87166 }
87167 else if (Main.rand.Next(9) == 0)
87168 {
87170 }
87171 else if (Main.rand.Next(5) == 0)
87172 {
87174 }
87175 else if (Main.rand.Next(3) == 0)
87176 {
87178 }
87179 else if (Main.rand.Next(3) == 0)
87180 {
87182 }
87183 else
87184 {
87186 }
87187 }
87188 else if (Main.invasionType == 2)
87189 {
87190 if (Main.rand.Next(7) == 0)
87191 {
87193 }
87194 else if (Main.rand.Next(3) == 0)
87195 {
87197 }
87198 else
87199 {
87201 }
87202 }
87203 else if (Main.invasionType == 3)
87204 {
87205 if (Main.invasionSize < Main.invasionSizeStart / 2 && Main.rand.Next(20) == 0 && !
AnyNPCs(491) && !Collision.SolidTiles(
num - 20,
num + 20,
num24 - 40,
num24 - 10))
87206 {
87208 }
87209 else if (Main.rand.Next(30) == 0 && !
AnyNPCs(216))
87210 {
87212 }
87213 else if (Main.rand.Next(11) == 0)
87214 {
87216 }
87217 else if (Main.rand.Next(9) == 0)
87218 {
87220 }
87221 else if (Main.rand.Next(7) == 0)
87222 {
87224 }
87225 else if (Main.rand.Next(3) == 0)
87226 {
87228 }
87229 else
87230 {
87232 }
87233 }
87234 else if (Main.invasionType == 4)
87235 {
87237 int num64 = Main.rand.Next(7);
87238 bool flag22 = (float)(Main.invasionSizeStart - Main.invasionSize) / (float)Main.invasionSizeStart >= 0.3f && !
AnyNPCs(395);
87239 if (Main.rand.Next(45) == 0 &&
flag22)
87240 {
87242 }
87243 else if (
num64 >= 6)
87244 {
87245 if (Main.rand.Next(20) == 0 &&
flag22)
87246 {
87248 }
87249 else
87250 {
87251 int num111 = Main.rand.Next(2);
87253 {
87255 }
87257 {
87259 }
87260 }
87261 }
87262 else if (
num64 >= 4)
87263 {
87264 int num65 = Main.rand.Next(5);
87266 }
87267 else
87268 {
87269 int num66 = Main.rand.Next(4);
87271 {
87273 {
87275 }
87276 else
87277 {
87278 num66 = Main.rand.Next(3);
87279 }
87280 }
87282 {
87284 }
87286 {
87288 }
87290 {
87292 }
87293 }
87295 {
87297 }
87298 }
87299 }
87300 else if (
num58 == 244 && !Main.remixWorld)
87301 {
87303 {
87305 {
87307 }
87308 else
87309 {
87311 }
87312 }
87313 else if ((
double)
num24 > Main.worldSurface)
87314 {
87315 if (Main.rand.Next(3) == 0)
87316 {
87318 {
87320 }
87321 else
87322 {
87324 }
87325 }
87326 else if (Main.rand.Next(2) == 0)
87327 {
87329 }
87331 {
87333 }
87334 else if (Main.rand.Next(3) != 0)
87335 {
87337 }
87338 }
87339 else if (Main.player[
k].RollLuck(2) == 0)
87340 {
87342 Main.npc[
newNPC].timeLeft *= 10;
87343 }
87345 {
87347 }
87349 {
87351 }
87352 else if (Main.halloween && Main.rand.Next(3) != 0)
87353 {
87355 }
87356 else if (Main.xMas && Main.rand.Next(3) != 0)
87357 {
87359 }
87361 {
87363 }
87364 else if (Main.rand.Next(3) == 0)
87365 {
87367 }
87368 else
87369 {
87371 }
87372 }
87374 {
87376 }
87378 {
87380 if (Main.dontStarveWorld)
87381 {
87383 }
87385 {
87387 }
87388 else if (Main.hardMode && Main.rand.Next(10) != 0)
87389 {
87391 }
87392 else
87393 {
87395 }
87396 }
87398 {
87399 float num68 = 1.15f;
87400 if ((
double)
num24 > (Main.rockLayer * 2.0 + (
double)Main.maxTilesY) / 3.0)
87401 {
87403 }
87404 else if ((
double)
num24 > Main.rockLayer)
87405 {
87407 }
87409 {
87411 }
87412 else if (Main.hardMode && Main.rand.Next((
int)(45
f *
num68)) == 0 && !
flag34 && (
double)
num24 > Main.worldSurface + 100.0)
87413 {
87415 }
87416 else if (Main.rand.Next((
int)(45
f *
num68)) == 0 && !
flag34 && (
double)
num24 > Main.worldSurface + 100.0 &&
CountNPCS(513) == 0)
87417 {
87419 }
87420 else if (Main.hardMode && Main.rand.Next(5) != 0)
87421 {
87423 if (Main.player[
k].ZoneCorrupt)
87424 {
87425 list.Add(525);
87426 list.Add(525);
87427 }
87428 if (Main.player[
k].ZoneCrimson)
87429 {
87430 list.Add(526);
87431 list.Add(526);
87432 }
87433 if (Main.player[
k].ZoneHallow)
87434 {
87435 list.Add(527);
87436 list.Add(527);
87437 }
87438 if (list.Count == 0)
87439 {
87440 list.Add(524);
87441 list.Add(524);
87442 }
87443 if (Main.player[
k].ZoneCorrupt || Main.player[
k].ZoneCrimson)
87444 {
87445 list.Add(533);
87446 list.Add(529);
87447 }
87448 else
87449 {
87450 list.Add(530);
87451 list.Add(528);
87452 }
87453 list.Add(532);
87454 int num69 = Utils.SelectRandom(Main.rand, list.ToArray());
87456 list.Clear();
87457 }
87458 else
87459 {
87460 int num70 = Utils.SelectRandom<
int>(Main.rand, 69, 580, 580, 580, 581);
87461 if (Main.rand.Next(15) == 0)
87462 {
87464 }
87465 else if (Main.rand.Next(10) == 0)
87466 {
87468 {
87469 case 580:
87471 break;
87472 case 581:
87474 break;
87475 }
87476 }
87478 }
87479 }
87480 else if (Main.hardMode &&
flag36 && Main.player[
k].ZoneJungle && Main.rand.Next(3) != 0)
87481 {
87483 }
87484 else if (Main.hardMode &&
flag36 && Main.player[
k].ZoneCrimson && Main.rand.Next(3) != 0)
87485 {
87487 }
87488 else if (Main.hardMode &&
flag36 && Main.player[
k].ZoneCrimson && Main.rand.Next(3) != 0)
87489 {
87491 }
87493 {
87496 {
87499 {
87501 {
87503 break;
87504 }
87505 }
87507 {
87509 }
87511 {
87514 }
87515 }
87517 {
87520 if (((
double)
num24 < Main.worldSurface || Main.remixWorld) &&
num24 > 50)
87521 {
87523 {
87525 {
87528 {
87530 }
87531 if (Main.wallHouse[Main.tile[
num,
num73].wall])
87532 {
87534 }
87535 break;
87536 }
87537 }
87539 {
87541 }
87543 {
87545 }
87546 }
87547 if (
num73 > 0 && !
flag7 && Main.rand.Next(10) == 0)
87548 {
87550 }
87551 else if (Main.rand.Next(10) == 0)
87552 {
87553 int num76 = Main.rand.Next(3);
87555 {
87557 }
87559 {
87561 }
87562 else if (
num76 == 2)
87563 {
87566 {
87568 }
87570 {
87572 }
87573 else
87574 {
87576 }
87577 }
87578 }
87579 else if (Main.rand.Next(40) == 0)
87580 {
87582 }
87583 else if (Main.rand.Next(18) == 0)
87584 {
87586 }
87587 else if (Main.rand.Next(8) == 0)
87588 {
87590 }
87591 else if (Main.rand.Next(3) == 0)
87592 {
87594 }
87595 else
87596 {
87598 }
87599 }
87600 }
87602 {
87604 }
87606 {
87608 if (
num56 == 60 &&
flag13 &&
num24 > 50 && Main.rand.Next(3) == 0 && Main.dayTime)
87609 {
87612 {
87614 {
87616 break;
87617 }
87618 }
87620 {
87622 }
87624 {
87626 if (Main.rand.Next(4) == 0)
87627 {
87630 }
87631 else if (!
flag && Main.cloudAlpha == 0
f)
87632 {
87634 int num81 = Main.rand.Next(1, 4);
87636 {
87638 {
87640 }
87641 else
87642 {
87644 }
87645 }
87646 }
87647 }
87648 }
87650 {
87651 if (Main.hardMode && Main.rand.Next(3) > 0)
87652 {
87654 }
87655 else
87656 {
87658 }
87659 }
87660 }
87661 else if (!
flag4 &&
flag36 && (
double)
num24 > Main.worldSurface && Main.rand.Next(3) == 0)
87662 {
87663 if (Main.hardMode && Main.rand.Next(3) > 0)
87664 {
87666 }
87667 else
87668 {
87670 }
87671 }
87672 else if (
flag36 && Main.rand.Next(4) == 0 && ((
num >
WorldGen.oceanDistance &&
num < Main.maxTilesX -
WorldGen.oceanDistance) || (
double)
num24 > Main.worldSurface + 50.0))
87673 {
87674 if (Main.player[
k].ZoneCorrupt)
87675 {
87677 }
87678 else if (Main.player[
k].ZoneCrimson)
87679 {
87681 }
87683 {
87686 {
87688 {
87690 break;
87691 }
87692 }
87694 {
87696 }
87698 {
87699 if (Main.rand.Next(5) == 0 && (
num35 == 2 ||
num35 == 477))
87700 {
87702 }
87703 else if (
num35 == 53)
87704 {
87705 if (Main.rand.Next(2) == 0 && !
flag && Main.cloudAlpha == 0
f)
87706 {
87707 int num85 = Main.rand.Next(1, 4);
87709 {
87711 {
87713 }
87714 else
87715 {
87717 }
87718 }
87719 }
87720 else
87721 {
87723 }
87724 }
87725 else if (Main.rand.Next(2) == 0)
87726 {
87728 }
87729 else
87730 {
87732 }
87733 }
87735 {
87737 }
87739 {
87741 }
87742 else
87743 {
87745 }
87746 }
87748 {
87750 }
87752 {
87754 }
87755 else
87756 {
87758 }
87759 }
87761 {
87763 }
87765 {
87767 }
87769 {
87771 }
87773 {
87774 if (Main.player[
k].ZoneGraveyard)
87775 {
87777 {
87778 if (Main.rand.Next(2) == 0)
87779 {
87781 }
87782 else
87783 {
87785 }
87786 }
87787 }
87789 {
87791 {
87794 if (((
double)
num24 < Main.worldSurface || Main.remixWorld) &&
num24 > 50)
87795 {
87797 {
87799 {
87802 {
87804 }
87805 break;
87806 }
87807 }
87809 {
87811 }
87813 {
87815 }
87816 }
87817 if (Main.rand.Next(2) == 0)
87818 {
87819 int num91 = Main.rand.Next(3);
87821 {
87823 }
87825 {
87827 }
87828 else if (
num91 == 2)
87829 {
87832 {
87834 }
87836 {
87838 }
87839 else
87840 {
87842 }
87843 }
87844 }
87846 {
87848 }
87849 }
87850 else
87851 {
87853 }
87854 }
87856 {
87858 {
87860 }
87861 else
87862 {
87864 }
87865 if (Main.rand.Next(3) == 0)
87866 {
87868 }
87869 if (Main.rand.Next(3) == 0)
87870 {
87872 }
87873 }
87875 {
87876 if (
flag13 &&
num24 > 50 && Main.rand.Next(3) != 0 && Main.dayTime)
87877 {
87880 {
87882 {
87884 break;
87885 }
87886 }
87888 {
87890 }
87892 {
87894 {
87895 case 60:
87896 if (Main.rand.Next(3) != 0 && !
flag && Main.cloudAlpha == 0
f)
87897 {
87898 int num97 = Main.rand.Next(1, 4);
87900 {
87902 {
87904 }
87905 else
87906 {
87908 }
87909 }
87910 }
87911 else
87912 {
87914 }
87915 break;
87916 case 53:
87917 if (Main.rand.Next(3) != 0 && !
flag && Main.cloudAlpha == 0
f)
87918 {
87919 int num95 = Main.rand.Next(1, 4);
87921 {
87923 {
87925 }
87926 else
87927 {
87929 }
87930 }
87931 }
87932 else
87933 {
87935 }
87936 break;
87937 default:
87938 if (Main.rand.Next(5) == 0 && (
num35 == 2 ||
num35 == 477))
87939 {
87941 }
87942 else if (Main.rand.Next(2) == 0)
87943 {
87945 }
87946 else
87947 {
87949 }
87950 break;
87951 }
87952 }
87954 {
87956 }
87958 {
87960 }
87961 else
87962 {
87964 }
87965 }
87967 {
87969 }
87971 {
87973 }
87974 else
87975 {
87977 }
87978 }
87980 {
87981 if (Main.rand.Next(2) == 0)
87982 {
87984 }
87985 else
87986 {
87988 }
87989 }
87990 else if (
num56 == 60)
87991 {
87992 if (Main.dayTime && Main.rand.Next(3) != 0)
87993 {
87994 switch (Main.rand.Next(5))
87995 {
87996 case 0:
87998 break;
87999 case 1:
88001 break;
88002 case 2:
88004 break;
88005 case 3:
88007 break;
88008 default:
88010 break;
88011 }
88012 }
88013 else
88014 {
88016 }
88017 }
88018 else if (
num56 == 53)
88019 {
88021 }
88022 else
88023 {
88025 {
88026 break;
88027 }
88029 if (Main.raining &&
num24 <= Main.UnderworldLayer)
88030 {
88031 if (
flag14 && Main.rand.Next(5) == 0)
88032 {
88034 }
88035 else if (
flag14 && Main.rand.Next(5) == 0)
88036 {
88038 }
88040 {
88042 }
88043 else if (Main.rand.Next(3) != 0)
88044 {
88046 }
88048 {
88050 }
88051 else
88052 {
88054 }
88055 }
88056 else if (!Main.dayTime && Main.numClouds <= 55 && Main.cloudBGActive == 0
f && Star.starfallBoost > 3
f &&
flag27 && Main.player[
k].RollLuck(2) == 0)
88057 {
88059 }
88061 {
88064 {
88066 }
88069 {
88071 }
88073 {
88075 }
88077 {
88079 }
88081 {
88083 }
88084 }
88085 else if (Main.cloudAlpha == 0
f && !Main.dayTime && Main.rand.Next(5) == 0 &&
flag27)
88086 {
88088 }
88089 else if (Main.dayTime && Main.time < 18000.0 && Main.rand.Next(3) != 0 &&
flag27)
88090 {
88091 int num101 = Main.rand.Next(4);
88093 {
88095 }
88096 else
88097 {
88099 {
88100 case 0:
88102 break;
88103 case 1:
88105 break;
88106 default:
88108 break;
88109 }
88110 }
88111 }
88113 {
88115 if (Main.rand.Next(4) == 0)
88116 {
88118 }
88119 if (Main.rand.Next(4) == 0)
88120 {
88122 }
88123 }
88125 {
88127 {
88129 }
88130 else
88131 {
88133 }
88134 if (Main.rand.Next(4) == 0)
88135 {
88137 }
88138 if (Main.rand.Next(4) == 0)
88139 {
88141 }
88142 }
88144 {
88146 {
88148 }
88149 else
88150 {
88152 }
88153 if (Main.rand.Next(3) != 0)
88154 {
88156 }
88157 if (Main.rand.Next(2) == 0)
88158 {
88160 }
88161 if (Main.rand.Next(3) == 0)
88162 {
88164 }
88165 if (Main.rand.Next(4) == 0)
88166 {
88168 }
88169 }
88170 else if (Main.rand.Next(2) == 0 &&
flag27)
88171 {
88172 int num102 = Main.rand.Next(4);
88174 {
88176 }
88177 else
88178 {
88180 {
88181 case 0:
88183 break;
88184 case 1:
88186 break;
88187 default:
88189 break;
88190 }
88191 }
88192 }
88193 else if (
num24 > Main.UnderworldLayer)
88194 {
88195 if (Main.remixWorld && (
double)(Main.player[
k].Center.X / 16
f) > (
double)Main.maxTilesX * 0.39 + 50.0 && (
double)(Main.player[
k].Center.X / 16
f) < (
double)Main.maxTilesX * 0.61 && Main.rand.Next(2) == 0)
88196 {
88197 if (Main.rand.Next(2) == 0)
88198 {
88200 }
88201 else
88202 {
88204 }
88205 }
88206 else
88207 {
88209 }
88210 }
88212 {
88214 }
88216 {
88218 }
88219 else if (Main.halloween && Main.rand.Next(3) != 0)
88220 {
88222 }
88223 else if (Main.xMas && Main.rand.Next(3) != 0)
88224 {
88226 }
88228 {
88230 }
88231 else if (Main.rand.Next(3) == 0)
88232 {
88233 if (Main.remixWorld)
88234 {
88235 if ((
double)
num24 < Main.rockLayer && (
double)
num24 > Main.worldSurface)
88236 {
88237 if (Main.rand.Next(5) == 0)
88238 {
88240 }
88241 }
88243 {
88245 }
88246 }
88247 else if ((
double)
num24 >= Main.rockLayer &&
num24 <= Main.UnderworldLayer)
88248 {
88249 if (Main.rand.Next(5) == 0)
88250 {
88252 }
88253 }
88255 {
88257 }
88258 }
88259 else if (Main.remixWorld)
88260 {
88261 if ((
double)
num24 < Main.rockLayer && (
double)
num24 > Main.worldSurface)
88262 {
88263 if ((
double)
num24 >= Main.rockLayer &&
num24 <= Main.UnderworldLayer)
88264 {
88265 if (Main.rand.Next(5) == 0)
88266 {
88268 }
88269 }
88270 else
88271 {
88273 }
88274 }
88275 }
88276 else if ((
double)
num24 >= Main.rockLayer &&
num24 <= Main.UnderworldLayer)
88277 {
88278 if (Main.rand.Next(5) == 0)
88279 {
88281 }
88282 }
88283 else
88284 {
88286 }
88287 }
88288 }
88289 else if (Main.player[
k].ZoneDungeon)
88290 {
88292 ushort wall = Main.tile[
num,
num24].wall;
88294 if (wall == 94 || wall == 96 || wall == 98 ||
wall2 == 94 ||
wall2 == 96 ||
wall2 == 98)
88295 {
88297 }
88298 if (wall == 95 || wall == 97 || wall == 99 ||
wall2 == 95 ||
wall2 == 97 ||
wall2 == 99)
88299 {
88301 }
88302 if (Main.player[
k].RollLuck(7) == 0)
88303 {
88304 num103 = Main.rand.Next(3);
88305 }
88307 if (Main.drunkWorld && Main.player[
k].position.Y / 16
f < (
float)(Main.dungeonY + 40))
88308 {
88310 }
88312 {
88314 }
88316 {
88318 }
88319 else if (
flag6 && Main.rand.Next(30) == 0)
88320 {
88322 }
88323 else if (
flag6 &&
num103 == 0 && Main.rand.Next(15) == 0)
88324 {
88326 }
88327 else if (
flag6 &&
num103 == 1 && Main.rand.Next(15) == 0)
88328 {
88330 }
88331 else if (
flag6 &&
num103 == 2 && Main.rand.Next(15) == 0)
88332 {
88334 }
88336 {
88338 }
88340 {
88342 }
88343 else if (
flag6 && Main.rand.Next(20) == 0)
88344 {
88347 {
88349 }
88351 {
88353 }
88354 num104 += Main.rand.Next(2);
88356 {
88358 }
88359 }
88360 else if (
flag6 && Main.rand.Next(3) != 0)
88361 {
88364 {
88366 }
88368 {
88370 }
88372 }
88373 else if (Main.player[
k].RollLuck(35) == 0)
88374 {
88376 }
88378 {
88380 }
88381 else if (
num103 == 2 && Main.rand.Next(5) == 0)
88382 {
88384 }
88385 else if (
num103 == 0 && Main.rand.Next(7) == 0)
88386 {
88388 }
88389 else if (Main.rand.Next(7) == 0)
88390 {
88392 }
88393 else
88394 {
88395 switch (Main.rand.Next(5))
88396 {
88397 case 0:
88399 break;
88400 case 1:
88402 break;
88403 case 2:
88405 break;
88406 default:
88408 if (Main.rand.Next(4) == 0)
88409 {
88410 Main.npc[
newNPC].SetDefaults(-14);
88411 }
88412 else if (Main.rand.Next(5) == 0)
88413 {
88414 Main.npc[
newNPC].SetDefaults(-13);
88415 }
88416 break;
88417 }
88418 }
88419 }
88420 else if (Main.player[
k].ZoneMeteor)
88421 {
88423 }
88425 {
88427 }
88428 else if ((Main.remixWorld || (
double)
num24 <= Main.worldSurface) && !Main.dayTime && Main.snowMoon)
88429 {
88431 if (Main.rand.Next(30) == 0 &&
CountNPCS(341) < 4)
88432 {
88434 }
88436 {
88437 int num107 = Main.rand.Next(3);
88439 {
88441 {
88445 };
88446 }
88447 }
88449 {
88450 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(345) < 4) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 &&
CountNPCS(346) < 5) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) != 0 ||
CountNPCS(344) >= 7) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344))));
88451 }
88453 {
88454 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(345) < 3) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 &&
CountNPCS(346) < 4) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) == 0 &&
CountNPCS(344) < 6) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 351))))));
88455 }
88457 {
88458 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(345) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 &&
CountNPCS(346) < 3) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) == 0 &&
CountNPCS(344) < 5) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 351))))));
88459 }
88461 {
88462 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(345) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 &&
CountNPCS(346) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) == 0 &&
CountNPCS(344) < 4) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 352)))));
88463 }
88465 {
88466 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(345)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 &&
CountNPCS(346) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) == 0 &&
CountNPCS(344) < 3) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347)))));
88467 }
88468 else
88469 {
88471 {
88472 case 14:
88473 if (Main.rand.Next(10) == 0 && !
AnyNPCs(345))
88474 {
88476 }
88477 else if (Main.rand.Next(10) == 0 && !
AnyNPCs(346))
88478 {
88480 }
88481 else if (Main.rand.Next(10) == 0 && !
AnyNPCs(344))
88482 {
88484 }
88485 else if (Main.rand.Next(3) == 0)
88486 {
88488 }
88489 break;
88490 case 13:
88491 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(345)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 && !
AnyNPCs(346)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 352) : ((Main.rand.Next(6) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342))))));
88492 break;
88493 case 12:
88494 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(345)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(10) == 0 && !
AnyNPCs(344)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(8) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 343) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342)))));
88495 break;
88496 case 11:
88497 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(345)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 345) : ((Main.rand.Next(6) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 352) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342))));
88498 break;
88499 case 10:
88500 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(346)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) == 0 &&
CountNPCS(344) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(6) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 351) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347))))));
88501 break;
88502 case 9:
88503 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(346)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(10) == 0 && !
AnyNPCs(344)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(2) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347)))));
88504 break;
88505 case 8:
88506 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(346)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(8) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 351) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 350) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347)))));
88507 break;
88508 case 7:
88509 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(346)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 346) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342) : ((Main.rand.Next(4) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 350))));
88510 break;
88511 case 6:
88512 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(344) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 347) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 350) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348))));
88513 break;
88514 case 5:
88515 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(344)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 350) : ((Main.rand.Next(8) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348))));
88516 break;
88517 case 4:
88518 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(344)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 344) : ((Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 350) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342))));
88519 break;
88520 case 3:
88521 newNPC = ((Main.rand.Next(8) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 348) : ((Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 350) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(338, 341)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 342))));
88522 break;
88523 case 2:
88525 break;
88526 default:
88528 break;
88529 }
88530 }
88531 }
88532 else if ((Main.remixWorld || (
double)
num24 <= Main.worldSurface) && !Main.dayTime && Main.pumpkinMoon)
88533 {
88536 {
88538 {
88539 if (Main.rand.Next(2) == 0 &&
CountNPCS(327) < 2)
88540 {
88542 }
88543 else if (Main.rand.Next(3) != 0 &&
CountNPCS(325) < 2)
88544 {
88546 }
88548 {
88550 }
88551 }
88552 }
88553 else
88554 {
88556 {
88557 case 19:
88558 if (Main.rand.Next(5) == 0 &&
CountNPCS(327) < 2)
88559 {
88561 }
88562 else if (Main.rand.Next(5) == 0 &&
CountNPCS(325) < 2)
88563 {
88565 }
88567 {
88569 }
88570 break;
88571 case 18:
88572 if (Main.rand.Next(7) == 0 &&
CountNPCS(327) < 2)
88573 {
88575 }
88577 break;
88578 case 17:
88579 if (Main.rand.Next(7) == 0 &&
CountNPCS(327) < 2)
88580 {
88582 }
88583 newNPC = ((Main.rand.Next(7) == 0 &&
CountNPCS(325) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 325) : ((Main.rand.Next(7) == 0 &&
CountNPCS(315) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 315) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 329) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330))));
88584 break;
88585 case 16:
88586 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(327) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 327) : ((Main.rand.Next(10) == 0 &&
CountNPCS(315) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 315) : ((Main.rand.Next(6) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 329)))));
88587 break;
88588 case 15:
88589 if (Main.rand.Next(10) == 0 && !
AnyNPCs(327))
88590 {
88592 }
88593 newNPC = ((Main.rand.Next(7) == 0 &&
CountNPCS(325) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 325) : ((Main.rand.Next(5) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(305, 315)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326))));
88594 break;
88595 case 14:
88596 if (Main.rand.Next(10) == 0 && !
AnyNPCs(327))
88597 {
88599 }
88600 newNPC = ((Main.rand.Next(7) == 0 &&
CountNPCS(325) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 325) : ((Main.rand.Next(10) == 0 && !
AnyNPCs(315)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 315) : ((Main.rand.Next(10) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330) : ((Main.rand.Next(7) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 329) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(305, 315)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326))))));
88601 break;
88602 case 13:
88603 newNPC = ((Main.rand.Next(7) == 0 &&
CountNPCS(325) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 325) : ((Main.rand.Next(10) == 0 &&
CountNPCS(315) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 315) : ((Main.rand.Next(6) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 329)))));
88604 break;
88605 case 12:
88607 break;
88608 case 11:
88610 break;
88611 case 10:
88612 newNPC = ((Main.rand.Next(10) == 0 && !
AnyNPCs(327)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 327) : ((Main.rand.Next(3) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(305, 315)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 329)));
88613 break;
88614 case 9:
88615 newNPC = ((Main.rand.Next(10) == 0 &&
CountNPCS(325) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 325) : ((Main.rand.Next(8) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330) : ((Main.rand.Next(5) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 329) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(305, 315)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326)))));
88616 break;
88617 case 8:
88619 break;
88620 case 7:
88622 break;
88623 case 6:
88624 newNPC = ((Main.rand.Next(7) == 0 &&
CountNPCS(325) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 325) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(305, 315)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326)));
88625 break;
88626 case 5:
88628 break;
88629 case 4:
88630 newNPC = ((Main.rand.Next(8) == 0 && !
AnyNPCs(325)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 330) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, Main.rand.Next(305, 315)) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 326)));
88631 break;
88632 case 3:
88634 break;
88635 case 2:
88637 break;
88638 default:
88640 break;
88641 }
88642 }
88643 }
88644 else if (((
double)
num24 <= Main.worldSurface || (Main.remixWorld && (
double)
num24 > Main.rockLayer)) && Main.dayTime && Main.eclipse)
88645 {
88648 {
88650 }
88651 newNPC = ((
downedPlantBoss && Main.rand.Next(80) == 0 && !
AnyNPCs(477)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 477) : ((Main.rand.Next(50) == 0 && !
AnyNPCs(251)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 251) : ((
downedPlantBoss && Main.rand.Next(5) == 0 && !
AnyNPCs(466)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 466) : ((
downedPlantBoss && Main.rand.Next(20) == 0 && !
AnyNPCs(463)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 463) : ((
downedPlantBoss && Main.rand.Next(20) == 0 &&
CountNPCS(467) < 2) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 467) : ((Main.rand.Next(15) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 159) : ((
flag29 && Main.rand.Next(13) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 253) : ((Main.rand.Next(8) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 469) : ((
downedPlantBoss && Main.rand.Next(7) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 468) : ((
downedPlantBoss && Main.rand.Next(5) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 460) : ((Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 162) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 461) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 166) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 462))))))))))))));
88652 }
88654 {
88655 int num109 = Main.rand.Next(583, 586);
88656 if (Main.tenthAnniversaryWorld && !Main.getGoodWorld && Main.rand.Next(4) != 0)
88657 {
88659 }
88662 Main.npc[
newNPC].TargetClosest();
88664 }
88665 else if (!Main.remixWorld && !
flag36 && (!Main.dayTime || Main.tile[
num,
num24].wall > 0) && Main.tile[
num89,
num100].wall == 244 && !Main.eclipse && !Main.bloodMoon && Main.player[
k].RollLuck(30) == 0 &&
CountNPCS(624) <= Main.rand.Next(3))
88666 {
88668 }
88669 else if (!Main.player[
k].ZoneCorrupt && !Main.player[
k].ZoneCrimson && !
flag36 && !Main.eclipse && !Main.bloodMoon && Main.player[
k].RollLuck(
range) == 0 && ((!Main.remixWorld && (
double)
num24 >= Main.worldSurface * 0.800000011920929 && (
double)
num24 < Main.worldSurface * 1.100000023841858) || (Main.remixWorld && (
double)
num24 > Main.rockLayer &&
num24 < Main.maxTilesY - 350)) &&
CountNPCS(624) <= Main.rand.Next(3) && (!Main.dayTime || Main.tile[
num,
num24].wall > 0) && (Main.tile[
num,
num24].wall == 63 || Main.tile[
num,
num24].wall == 2 || Main.tile[
num,
num24].wall == 196 || Main.tile[
num,
num24].wall == 197 || Main.tile[
num,
num24].wall == 198 || Main.tile[
num,
num24].wall == 199))
88670 {
88672 }
88674 {
88676 }
88677 else if (
num35 == 70 && (
double)
num24 <= Main.worldSurface && Main.rand.Next(3) != 0)
88678 {
88679 if ((!Main.hardMode && Main.rand.Next(6) == 0) || Main.rand.Next(12) == 0)
88680 {
88682 }
88683 else if (Main.rand.Next(3) != 0)
88684 {
88686 }
88687 else if (Main.rand.Next(4) != 0)
88688 {
88690 }
88691 else if (Main.hardMode && Main.rand.Next(3) != 0)
88692 {
88696 Main.npc[
newNPC].netUpdate =
true;
88697 }
88698 else
88699 {
88703 Main.npc[
newNPC].netUpdate =
true;
88704 }
88705 }
88706 else if (
num35 == 70 && Main.hardMode && (
double)
num24 >= Main.worldSurface && Main.rand.Next(3) != 0 && (!Main.remixWorld || Main.getGoodWorld ||
num24 < Main.maxTilesY - 360))
88707 {
88708 if (Main.hardMode && Main.player[
k].RollLuck(5) == 0)
88709 {
88711 }
88712 else if ((!Main.hardMode && Main.rand.Next(4) == 0) || Main.rand.Next(8) == 0)
88713 {
88715 }
88716 else if (Main.rand.Next(4) != 0)
88717 {
88719 }
88720 else if (Main.hardMode && Main.rand.Next(3) != 0)
88721 {
88725 Main.npc[
newNPC].netUpdate =
true;
88726 }
88727 else
88728 {
88732 Main.npc[
newNPC].netUpdate =
true;
88733 }
88734 }
88735 else if (Main.player[
k].ZoneCorrupt && Main.rand.Next(
maxValue) == 0 && !
flag34)
88736 {
88738 }
88739 else if (Main.remixWorld && !Main.hardMode && (
double)
num24 > Main.worldSurface && Main.player[
k].RollLuck(100) == 0)
88740 {
88742 }
88743 else if (Main.hardMode && (
double)
num24 > Main.worldSurface && Main.player[
k].RollLuck(Main.tenthAnniversaryWorld ? 25 : 75) == 0)
88744 {
88745 newNPC = ((Main.rand.Next(2) == 0 && Main.player[
k].ZoneCorrupt && !
AnyNPCs(473)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 473) : ((Main.rand.Next(2) == 0 && Main.player[
k].ZoneCrimson && !
AnyNPCs(474)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 474) : ((Main.rand.Next(2) == 0 && Main.player[
k].ZoneHallow && !
AnyNPCs(475)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 475) : ((Main.tenthAnniversaryWorld && Main.rand.Next(2) == 0 && Main.player[
k].ZoneJungle && !
AnyNPCs(476)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 476) : ((!Main.player[
k].ZoneSnow) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 85) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 629))))));
88746 }
88747 else if (Main.hardMode && Main.tile[
num,
num24].wall == 2 && Main.rand.Next(20) == 0)
88748 {
88750 }
88751 else if (Main.hardMode && (
double)
num24 <= Main.worldSurface && !Main.dayTime && (Main.rand.Next(20) == 0 || (Main.rand.Next(5) == 0 && Main.moonPhase == 4)))
88752 {
88754 }
88755 else if (Main.hardMode && Main.halloween && (
double)
num24 <= Main.worldSurface && !Main.dayTime && Main.rand.Next(10) == 0)
88756 {
88758 }
88759 else if (
num56 == 60 && Main.player[
k].RollLuck(500) == 0 && !Main.dayTime)
88760 {
88762 }
88763 else if (
num56 == 60 && (
double)
num24 > Main.worldSurface && Main.rand.Next(60) == 0)
88764 {
88766 }
88767 else if ((
double)
num24 > Main.worldSurface &&
num24 < Main.maxTilesY - 210 && !Main.player[
k].ZoneSnow && !Main.player[
k].ZoneCrimson && !Main.player[
k].ZoneCorrupt && !Main.player[
k].ZoneJungle && !Main.player[
k].ZoneHallow && Main.rand.Next(8) == 0)
88768 {
88770 {
88772 }
88773 else
88774 {
88776 }
88777 }
88778 else if ((
double)
num24 > Main.worldSurface &&
num24 < Main.maxTilesY - 210 && !Main.player[
k].ZoneSnow && !Main.player[
k].ZoneCrimson && !Main.player[
k].ZoneCorrupt && !Main.player[
k].ZoneJungle && !Main.player[
k].ZoneHallow && Main.rand.Next(13) == 0)
88779 {
88781 {
88783 }
88784 else
88785 {
88787 }
88788 }
88789 else if ((
double)
num24 > Main.worldSurface && (
double)
num24 < (Main.rockLayer + (
double)Main.maxTilesY) / 2.0 && !Main.player[
k].ZoneSnow && !Main.player[
k].ZoneCrimson && !Main.player[
k].ZoneCorrupt && !Main.player[
k].ZoneHallow && Main.rand.Next(13) == 0)
88790 {
88792 }
88793 else if (
flag13 && Main.player[
k].ZoneJungle && !Main.player[
k].ZoneCrimson && !Main.player[
k].ZoneCorrupt && Main.rand.Next(7) == 0)
88794 {
88795 if (Main.dayTime && Main.time < 43200.00064373016 && Main.rand.Next(3) != 0)
88796 {
88797 switch (Main.rand.Next(5))
88798 {
88799 case 0:
88801 break;
88802 case 1:
88804 break;
88805 case 2:
88807 break;
88808 case 3:
88810 break;
88811 default:
88813 break;
88814 }
88815 }
88816 else
88817 {
88819 }
88820 }
88821 else if (
num56 == 225 && Main.rand.Next(2) == 0)
88822 {
88823 if (Main.hardMode && Main.rand.Next(4) != 0)
88824 {
88826 if (Main.rand.Next(10) == 0)
88827 {
88828 Main.npc[
newNPC].SetDefaults(-18);
88829 }
88830 if (Main.rand.Next(10) == 0)
88831 {
88832 Main.npc[
newNPC].SetDefaults(-19);
88833 }
88834 if (Main.rand.Next(10) == 0)
88835 {
88836 Main.npc[
newNPC].SetDefaults(-20);
88837 }
88838 if (Main.rand.Next(10) == 0)
88839 {
88840 Main.npc[
newNPC].SetDefaults(-21);
88841 }
88842 }
88843 else
88844 {
88845 switch (Main.rand.Next(8))
88846 {
88847 case 0:
88849 if (Main.rand.Next(4) == 0)
88850 {
88851 Main.npc[
newNPC].SetDefaults(-56);
88852 }
88853 else if (Main.rand.Next(4) == 0)
88854 {
88855 Main.npc[
newNPC].SetDefaults(-57);
88856 }
88857 break;
88858 case 1:
88860 if (Main.rand.Next(4) == 0)
88861 {
88862 Main.npc[
newNPC].SetDefaults(-58);
88863 }
88864 else if (Main.rand.Next(4) == 0)
88865 {
88866 Main.npc[
newNPC].SetDefaults(-59);
88867 }
88868 break;
88869 case 2:
88871 if (Main.rand.Next(4) == 0)
88872 {
88873 Main.npc[
newNPC].SetDefaults(-60);
88874 }
88875 else if (Main.rand.Next(4) == 0)
88876 {
88877 Main.npc[
newNPC].SetDefaults(-61);
88878 }
88879 break;
88880 case 3:
88882 if (Main.rand.Next(4) == 0)
88883 {
88884 Main.npc[
newNPC].SetDefaults(-62);
88885 }
88886 else if (Main.rand.Next(4) == 0)
88887 {
88888 Main.npc[
newNPC].SetDefaults(-63);
88889 }
88890 break;
88891 case 4:
88893 if (Main.rand.Next(4) == 0)
88894 {
88895 Main.npc[
newNPC].SetDefaults(-64);
88896 }
88897 else if (Main.rand.Next(4) == 0)
88898 {
88899 Main.npc[
newNPC].SetDefaults(-65);
88900 }
88901 break;
88902 default:
88904 if (Main.rand.Next(4) == 0)
88905 {
88906 Main.npc[
newNPC].SetDefaults(-16);
88907 }
88908 else if (Main.rand.Next(4) == 0)
88909 {
88910 Main.npc[
newNPC].SetDefaults(-17);
88911 }
88912 break;
88913 }
88914 }
88915 }
88916 else if (
num56 == 60 && Main.hardMode && Main.rand.Next(3) != 0)
88917 {
88918 if (
flag13 && !Main.dayTime && Main.rand.Next(3) == 0)
88919 {
88921 }
88922 else if (
flag13 && Main.dayTime && Main.rand.Next(4) != 0)
88923 {
88925 }
88926 else if ((
double)
num24 > Main.worldSurface && Main.rand.Next(100) == 0)
88927 {
88929 }
88930 else if ((
double)
num24 > Main.worldSurface && Main.rand.Next(5) == 0)
88931 {
88933 }
88934 else if ((
double)
num24 > Main.worldSurface && Main.rand.Next(4) != 0)
88935 {
88937 if (Main.rand.Next(10) == 0)
88938 {
88939 Main.npc[
newNPC].SetDefaults(-18);
88940 }
88941 if (Main.rand.Next(10) == 0)
88942 {
88943 Main.npc[
newNPC].SetDefaults(-19);
88944 }
88945 if (Main.rand.Next(10) == 0)
88946 {
88947 Main.npc[
newNPC].SetDefaults(-20);
88948 }
88949 if (Main.rand.Next(10) == 0)
88950 {
88951 Main.npc[
newNPC].SetDefaults(-21);
88952 }
88953 }
88954 else if (Main.rand.Next(3) == 0)
88955 {
88959 Main.npc[
newNPC].netUpdate =
true;
88960 }
88961 else
88962 {
88964 }
88965 }
88967 {
88969 }
88970 else if (
num58 == 86 && Main.rand.Next(8) != 0)
88971 {
88972 switch (Main.rand.Next(8))
88973 {
88974 case 0:
88976 if (Main.rand.Next(4) == 0)
88977 {
88978 Main.npc[
newNPC].SetDefaults(-56);
88979 }
88980 else if (Main.rand.Next(4) == 0)
88981 {
88982 Main.npc[
newNPC].SetDefaults(-57);
88983 }
88984 break;
88985 case 1:
88987 if (Main.rand.Next(4) == 0)
88988 {
88989 Main.npc[
newNPC].SetDefaults(-58);
88990 }
88991 else if (Main.rand.Next(4) == 0)
88992 {
88993 Main.npc[
newNPC].SetDefaults(-59);
88994 }
88995 break;
88996 case 2:
88998 if (Main.rand.Next(4) == 0)
88999 {
89000 Main.npc[
newNPC].SetDefaults(-60);
89001 }
89002 else if (Main.rand.Next(4) == 0)
89003 {
89004 Main.npc[
newNPC].SetDefaults(-61);
89005 }
89006 break;
89007 case 3:
89009 if (Main.rand.Next(4) == 0)
89010 {
89011 Main.npc[
newNPC].SetDefaults(-62);
89012 }
89013 else if (Main.rand.Next(4) == 0)
89014 {
89015 Main.npc[
newNPC].SetDefaults(-63);
89016 }
89017 break;
89018 case 4:
89020 if (Main.rand.Next(4) == 0)
89021 {
89022 Main.npc[
newNPC].SetDefaults(-64);
89023 }
89024 else if (Main.rand.Next(4) == 0)
89025 {
89026 Main.npc[
newNPC].SetDefaults(-65);
89027 }
89028 break;
89029 default:
89031 if (Main.rand.Next(4) == 0)
89032 {
89033 Main.npc[
newNPC].SetDefaults(-16);
89034 }
89035 else if (Main.rand.Next(4) == 0)
89036 {
89037 Main.npc[
newNPC].SetDefaults(-17);
89038 }
89039 break;
89040 }
89041 }
89042 else if (
num56 == 60 && ((!Main.remixWorld && (
double)
num24 > (Main.worldSurface + Main.rockLayer) / 2.0) || (Main.remixWorld && ((
double)
num24 < Main.rockLayer || Main.rand.Next(2) == 0))))
89043 {
89044 if (Main.rand.Next(4) == 0)
89045 {
89047 }
89048 else if (Main.rand.Next(4) == 0)
89049 {
89053 Main.npc[
newNPC].netUpdate =
true;
89054 }
89055 else
89056 {
89057 switch (Main.rand.Next(8))
89058 {
89059 case 0:
89061 if (Main.rand.Next(4) == 0)
89062 {
89063 Main.npc[
newNPC].SetDefaults(-56);
89064 }
89065 else if (Main.rand.Next(4) == 0)
89066 {
89067 Main.npc[
newNPC].SetDefaults(-57);
89068 }
89069 break;
89070 case 1:
89072 if (Main.rand.Next(4) == 0)
89073 {
89074 Main.npc[
newNPC].SetDefaults(-58);
89075 }
89076 else if (Main.rand.Next(4) == 0)
89077 {
89078 Main.npc[
newNPC].SetDefaults(-59);
89079 }
89080 break;
89081 case 2:
89083 if (Main.rand.Next(4) == 0)
89084 {
89085 Main.npc[
newNPC].SetDefaults(-60);
89086 }
89087 else if (Main.rand.Next(4) == 0)
89088 {
89089 Main.npc[
newNPC].SetDefaults(-61);
89090 }
89091 break;
89092 case 3:
89094 if (Main.rand.Next(4) == 0)
89095 {
89096 Main.npc[
newNPC].SetDefaults(-62);
89097 }
89098 else if (Main.rand.Next(4) == 0)
89099 {
89100 Main.npc[
newNPC].SetDefaults(-63);
89101 }
89102 break;
89103 case 4:
89105 if (Main.rand.Next(4) == 0)
89106 {
89107 Main.npc[
newNPC].SetDefaults(-64);
89108 }
89109 else if (Main.rand.Next(4) == 0)
89110 {
89111 Main.npc[
newNPC].SetDefaults(-65);
89112 }
89113 break;
89114 default:
89116 if (Main.rand.Next(4) == 0)
89117 {
89118 Main.npc[
newNPC].SetDefaults(-16);
89119 }
89120 else if (Main.rand.Next(4) == 0)
89121 {
89122 Main.npc[
newNPC].SetDefaults(-17);
89123 }
89124 break;
89125 }
89126 }
89127 }
89128 else if (
num56 == 60 && Main.rand.Next(4) == 0)
89129 {
89131 }
89132 else if (
num56 == 60 && Main.rand.Next(8) == 0)
89133 {
89137 Main.npc[
newNPC].netUpdate =
true;
89138 }
89140 {
89142 {
89144 }
89145 else if (Main.hardMode && Main.rand.Next(20) == 0 && !
AnyNPCs(541))
89146 {
89148 }
89149 else if (Main.hardMode && !
flag34 && Main.rand.Next(3) == 0 &&
CountNPCS(510) < 4)
89150 {
89152 }
89153 else if (!Main.hardMode ||
flag34 || Main.rand.Next(2) != 0)
89154 {
89155 newNPC = ((Main.hardMode &&
num56 == 53 && Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 78) : ((Main.hardMode &&
num56 == 112 && Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 79) : ((Main.hardMode &&
num56 == 234 && Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 630) : ((Main.hardMode &&
num56 == 116 && Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 80) : ((Main.rand.Next(2) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 546) : ((Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 581) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 580)))))));
89156 }
89157 else
89158 {
89161 {
89163 }
89165 {
89167 }
89169 {
89171 }
89173 }
89174 }
89175 else if (Main.hardMode &&
num56 == 53 && Main.rand.Next(3) == 0)
89176 {
89178 }
89179 else if (Main.hardMode &&
num56 == 112 && Main.rand.Next(2) == 0)
89180 {
89182 }
89183 else if (Main.hardMode &&
num56 == 234 && Main.rand.Next(2) == 0)
89184 {
89186 }
89187 else if (Main.hardMode &&
num56 == 116 && Main.rand.Next(2) == 0)
89188 {
89190 }
89192 {
89193 if (
downedPlantBoss && (Main.remixWorld || (!Main.dayTime && Main.time < 16200.0)) &&
flag13 && Main.player[
k].RollLuck(10) == 0 && !
AnyNPCs(661))
89194 {
89196 }
89197 else if (!
flag17 ||
AnyNPCs(244) || Main.rand.Next(12) != 0)
89198 {
89200 }
89201 else
89202 {
89204 }
89205 }
89207 {
89209 }
89211 {
89213 if (Main.remixWorld)
89214 {
89216 }
89217 if (Main.hardMode &&
flag30 && Main.rand.Next(40) == 0 && !
flag34)
89218 {
89220 }
89221 else if (Main.hardMode &&
flag30 && Main.rand.Next(5) == 0 && !
flag34)
89222 {
89224 }
89225 else if (Main.hardMode &&
flag30 && Main.rand.Next(2) == 0)
89226 {
89228 }
89229 else if (Main.hardMode && Main.rand.Next(3) == 0)
89230 {
89232 if (Main.rand.Next(3) == 0)
89233 {
89234 Main.npc[
newNPC].SetDefaults(-24);
89235 }
89236 else if (Main.rand.Next(3) == 0)
89237 {
89238 Main.npc[
newNPC].SetDefaults(-25);
89239 }
89240 }
89241 else if (Main.hardMode && (Main.rand.Next(2) == 0 || ((
double)
num24 > Main.worldSurface && !Main.remixWorld)))
89242 {
89244 }
89245 else if ((Main.tile[
num,
num24].wall > 0 && Main.rand.Next(4) != 0) || Main.rand.Next(8) == 0)
89246 {
89248 }
89249 else if (Main.rand.Next(2) == 0)
89250 {
89252 }
89253 else
89254 {
89256 if (Main.rand.Next(3) == 0)
89257 {
89258 Main.npc[
newNPC].SetDefaults(-22);
89259 }
89260 else if (Main.rand.Next(3) == 0)
89261 {
89262 Main.npc[
newNPC].SetDefaults(-23);
89263 }
89264 }
89265 }
89267 {
89269 if (Main.remixWorld)
89270 {
89272 }
89273 if (Main.hardMode &&
flag31 && Main.rand.Next(40) == 0 && !
flag34)
89274 {
89276 }
89277 else if (Main.hardMode &&
flag31 && Main.rand.Next(3) == 0)
89278 {
89282 Main.npc[
newNPC].netUpdate =
true;
89283 }
89284 else if (Main.hardMode && Main.rand.Next(3) == 0)
89285 {
89287 }
89288 else if (Main.hardMode && (Main.rand.Next(2) == 0 ||
flag31))
89289 {
89291 }
89292 else
89293 {
89295 if (Main.rand.Next(3) == 0)
89296 {
89297 Main.npc[
newNPC].SetDefaults(-11);
89298 }
89299 else if (Main.rand.Next(3) == 0)
89300 {
89301 Main.npc[
newNPC].SetDefaults(-12);
89302 }
89303 }
89304 }
89306 {
89307 bool flag32 = (float)
Math.Abs(
num - Main.maxTilesX / 2) / (float)(Main.maxTilesX / 2) > 0.33f;
89309 {
89311 }
89312 if (Main.player[
k].ZoneGraveyard && !
flag36 && (
num35 == 2 ||
num35 == 477) && Main.rand.Next(10) == 0)
89313 {
89314 if (Main.rand.Next(2) == 0)
89315 {
89317 }
89318 else
89319 {
89321 }
89322 }
89323 else if (Main.player[
k].ZoneSnow && Main.hardMode &&
flag17 && !
AnyNPCs(243) && Main.player[
k].RollLuck(20) == 0)
89324 {
89326 }
89327 else if (!Main.player[
k].ZoneSnow && Main.hardMode &&
flag17 &&
CountNPCS(250) < 2 && Main.rand.Next(10) == 0)
89328 {
89330 }
89332 {
89334 }
89335 else if (!Main.player[
k].ZoneGraveyard && Main.dayTime)
89336 {
89339 {
89341 {
89342 if (Main.rand.Next(2) == 0)
89343 {
89345 }
89346 else
89347 {
89349 }
89350 }
89352 {
89354 if (Main.rand.Next(4) == 0)
89355 {
89357 }
89358 if (Main.rand.Next(4) == 0)
89359 {
89361 }
89362 }
89364 {
89366 {
89368 }
89369 else
89370 {
89372 }
89373 if (Main.rand.Next(4) == 0)
89374 {
89376 }
89377 if (Main.rand.Next(4) == 0)
89378 {
89380 }
89381 }
89383 {
89385 {
89387 }
89388 else
89389 {
89391 }
89392 if (Main.rand.Next(3) != 0)
89393 {
89395 }
89396 if (Main.rand.Next(2) == 0)
89397 {
89399 }
89400 if (Main.rand.Next(3) == 0)
89401 {
89403 }
89404 if (Main.rand.Next(4) == 0)
89405 {
89407 }
89408 }
89410 {
89412 }
89414 {
89416 }
89417 else if (Main.halloween && Main.rand.Next(3) != 0)
89418 {
89420 }
89421 else if (Main.xMas && Main.rand.Next(3) != 0)
89422 {
89424 }
89426 {
89428 }
89429 else if (Main.rand.Next(3) == 0 && (
double)
num24 <= Main.worldSurface)
89430 {
89432 }
89433 else
89434 {
89436 }
89437 }
89439 {
89441 }
89443 {
89445 {
89447 }
89448 else
89449 {
89451 }
89452 if (Main.rand.Next(3) == 0)
89453 {
89455 }
89456 if (Main.rand.Next(3) == 0)
89457 {
89459 }
89460 }
89462 {
89463 int num4 = Main.rand.Next(4);
89465 {
89467 }
89468 else
89469 {
89471 {
89472 case 0:
89474 break;
89475 case 1:
89477 break;
89478 default:
89480 break;
89481 }
89482 }
89483 }
89485 {
89486 int num5 = Main.rand.Next(4);
89488 {
89490 }
89491 else
89492 {
89494 {
89495 case 0:
89497 break;
89498 case 1:
89500 break;
89501 default:
89503 break;
89504 }
89505 }
89506 }
89507 else if (!
flag36 &&
num3 > Main.maxTilesX / 3 &&
num56 == 2 && Main.rand.Next(300) == 0 && !
AnyNPCs(50))
89508 {
89510 }
89512 {
89513 if (!
flag36 && Main.rand.Next(10) == 0)
89514 {
89516 }
89518 {
89522 {
89524 {
89526 {
89529 {
89531 }
89532 break;
89533 }
89534 }
89536 {
89538 }
89540 {
89542 }
89543 }
89544 if (Main.rand.Next(10) == 0)
89545 {
89546 int num9 = Main.rand.Next(3);
89548 {
89550 }
89552 {
89554 }
89555 else if (
num9 == 2)
89556 {
89559 {
89561 }
89563 {
89565 }
89566 else
89567 {
89569 }
89570 }
89571 }
89572 }
89573 }
89575 {
89577 }
89579 {
89581 }
89582 else if (!
flag36 && (
num3 > Main.maxTilesX / 3 || Main.remixWorld) && (Main.rand.Next(15) == 0 || (!
downedGoblins &&
WorldGen.shadowOrbSmashed && Main.rand.Next(7) == 0)))
89583 {
89585 }
89586 else if (Main.raining && Main.rand.Next(4) == 0)
89587 {
89589 }
89590 else if (!
flag36 && Main.raining && Main.rand.Next(2) == 0)
89591 {
89593 }
89595 {
89597 }
89599 {
89601 }
89603 {
89606 {
89607 case 60:
89608 Main.npc[
newNPC].SetDefaults(-10);
89609 break;
89610 case 147:
89611 case 161:
89612 Main.npc[
newNPC].SetDefaults(147);
89613 break;
89614 default:
89615 if (Main.halloween && Main.rand.Next(3) != 0)
89616 {
89617 Main.npc[
newNPC].SetDefaults(302);
89618 }
89619 else if (Main.xMas && Main.rand.Next(3) != 0)
89620 {
89621 Main.npc[
newNPC].SetDefaults(Main.rand.Next(333, 337));
89622 }
89623 else if (Main.rand.Next(3) == 0 || (
num3 < 200 && !Main.expertMode))
89624 {
89625 Main.npc[
newNPC].SetDefaults(-3);
89626 }
89627 else if (Main.rand.Next(10) == 0 && (
num3 > 400 || Main.expertMode))
89628 {
89629 Main.npc[
newNPC].SetDefaults(-7);
89630 }
89631 break;
89632 }
89633 }
89634 }
89635 else
89636 {
89638 {
89641 {
89643 }
89646 {
89648 }
89650 {
89652 }
89654 {
89656 }
89658 {
89660 }
89661 }
89662 else if ((Main.halloween || Main.player[
k].ZoneGraveyard) && Main.rand.Next(12) == 0)
89663 {
89665 }
89666 else if (Main.player[
k].ZoneGraveyard && Main.rand.Next(30) == 0)
89667 {
89669 }
89670 else if (Main.player[
k].ZoneGraveyard && Main.hardMode && (
double)
num24 <= Main.worldSurface && Main.rand.Next(10) == 0)
89671 {
89673 }
89674 else if (Main.rand.Next(6) == 0 || (Main.moonPhase == 4 && Main.rand.Next(2) == 0))
89675 {
89676 if (Main.hardMode && Main.rand.Next(3) == 0)
89677 {
89679 }
89680 else if (Main.halloween && Main.rand.Next(2) == 0)
89681 {
89683 }
89684 else if (Main.rand.Next(2) == 0)
89685 {
89687 if (Main.rand.Next(4) == 0)
89688 {
89689 Main.npc[
newNPC].SetDefaults(-43);
89690 }
89691 }
89692 else
89693 {
89694 switch (Main.rand.Next(5))
89695 {
89696 case 0:
89698 if (Main.rand.Next(3) == 0)
89699 {
89700 Main.npc[
newNPC].SetDefaults(-38);
89701 }
89702 break;
89703 case 1:
89705 if (Main.rand.Next(3) == 0)
89706 {
89707 Main.npc[
newNPC].SetDefaults(-39);
89708 }
89709 break;
89710 case 2:
89712 if (Main.rand.Next(3) == 0)
89713 {
89714 Main.npc[
newNPC].SetDefaults(-40);
89715 }
89716 break;
89717 case 3:
89719 if (Main.rand.Next(3) == 0)
89720 {
89721 Main.npc[
newNPC].SetDefaults(-41);
89722 }
89723 break;
89724 case 4:
89726 if (Main.rand.Next(3) == 0)
89727 {
89728 Main.npc[
newNPC].SetDefaults(-42);
89729 }
89730 break;
89731 }
89732 }
89733 }
89734 else if (Main.hardMode && Main.rand.Next(50) == 0 && Main.bloodMoon && !
AnyNPCs(109))
89735 {
89737 }
89738 else if (Main.rand.Next(250) == 0 && (Main.bloodMoon || Main.player[
k].ZoneGraveyard))
89739 {
89741 }
89742 else if (Main.rand.Next(250) == 0 && (Main.bloodMoon || Main.player[
k].ZoneGraveyard))
89743 {
89745 }
89746 else if (!Main.dayTime && Main.moonPhase == 0 && Main.hardMode && Main.rand.Next(3) != 0)
89747 {
89749 }
89750 else if (!Main.dayTime && Main.hardMode && Main.rand.Next(3) == 0)
89751 {
89753 }
89754 else if (Main.bloodMoon && Main.rand.Next(5) < 2)
89755 {
89757 }
89759 {
89760 newNPC = ((!Main.player[
k].ZoneGraveyard && Main.hardMode && Main.rand.Next(4) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 169) : ((!Main.player[
k].ZoneGraveyard && Main.hardMode && Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 155) : ((!Main.expertMode || Main.rand.Next(2) != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 161) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 431))));
89761 }
89762 else if (Main.raining && Main.rand.Next(2) == 0)
89763 {
89765 if (Main.rand.Next(3) == 0)
89766 {
89767 if (Main.rand.Next(2) == 0)
89768 {
89769 Main.npc[
newNPC].SetDefaults(-54);
89770 }
89771 else
89772 {
89773 Main.npc[
newNPC].SetDefaults(-55);
89774 }
89775 }
89776 }
89777 else
89778 {
89779 int num12 = Main.rand.Next(7);
89782 if (Main.player[
k].ConsumedLifeCrystals == 0)
89783 {
89785 num14 -= Main.CurrentFrameFlags.ActivePlayersCount / 2;
89787 {
89789 }
89790 }
89791 if (Main.player[
k].ZoneGraveyard && Main.rand.Next(
maxValue4) == 0)
89792 {
89794 }
89795 else if (Main.rand.Next(
num14) == 0)
89796 {
89798 }
89799 else if (Main.halloween && Main.rand.Next(2) == 0)
89800 {
89802 }
89803 else if (Main.xMas && Main.rand.Next(2) == 0)
89804 {
89806 }
89807 else if (
num12 == 0 && Main.expertMode && Main.rand.Next(3) == 0)
89808 {
89810 }
89811 else if (
num12 == 2 && Main.expertMode && Main.rand.Next(3) == 0)
89812 {
89814 }
89815 else if (
num12 == 3 && Main.expertMode && Main.rand.Next(3) == 0)
89816 {
89818 }
89819 else if (
num12 == 4 && Main.expertMode && Main.rand.Next(3) == 0)
89820 {
89822 }
89823 else if (
num12 == 5 && Main.expertMode && Main.rand.Next(3) == 0)
89824 {
89826 }
89827 else if (
num12 == 6 && Main.expertMode && Main.rand.Next(3) == 0)
89828 {
89830 }
89831 else
89832 {
89834 {
89835 case 0:
89837 if (Main.rand.Next(3) == 0)
89838 {
89839 if (Main.rand.Next(2) == 0)
89840 {
89841 Main.npc[
newNPC].SetDefaults(-26);
89842 }
89843 else
89844 {
89845 Main.npc[
newNPC].SetDefaults(-27);
89846 }
89847 }
89848 break;
89849 case 1:
89851 if (Main.rand.Next(3) == 0)
89852 {
89853 if (Main.rand.Next(2) == 0)
89854 {
89855 Main.npc[
newNPC].SetDefaults(-28);
89856 }
89857 else
89858 {
89859 Main.npc[
newNPC].SetDefaults(-29);
89860 }
89861 }
89862 break;
89863 case 2:
89865 if (Main.rand.Next(3) == 0)
89866 {
89867 if (Main.rand.Next(2) == 0)
89868 {
89869 Main.npc[
newNPC].SetDefaults(-30);
89870 }
89871 else
89872 {
89873 Main.npc[
newNPC].SetDefaults(-31);
89874 }
89875 }
89876 break;
89877 case 3:
89879 if (Main.rand.Next(3) == 0)
89880 {
89881 if (Main.rand.Next(2) == 0)
89882 {
89883 Main.npc[
newNPC].SetDefaults(-32);
89884 }
89885 else
89886 {
89887 Main.npc[
newNPC].SetDefaults(-33);
89888 }
89889 }
89890 break;
89891 case 4:
89893 if (Main.rand.Next(3) == 0)
89894 {
89895 if (Main.rand.Next(2) == 0)
89896 {
89897 Main.npc[
newNPC].SetDefaults(-34);
89898 }
89899 else
89900 {
89901 Main.npc[
newNPC].SetDefaults(-35);
89902 }
89903 }
89904 break;
89905 case 5:
89907 if (Main.rand.Next(3) == 0)
89908 {
89909 if (Main.rand.Next(2) == 0)
89910 {
89911 Main.npc[
newNPC].SetDefaults(-36);
89912 }
89913 else
89914 {
89915 Main.npc[
newNPC].SetDefaults(-37);
89916 }
89917 }
89918 break;
89919 case 6:
89921 if (Main.rand.Next(3) == 0)
89922 {
89923 if (Main.rand.Next(2) == 0)
89924 {
89925 Main.npc[
newNPC].SetDefaults(-44);
89926 }
89927 else
89928 {
89929 Main.npc[
newNPC].SetDefaults(-45);
89930 }
89931 }
89932 break;
89933 }
89934 }
89935 }
89936 if (Main.player[
k].ZoneGraveyard)
89937 {
89939 }
89940 }
89941 }
89943 {
89944 if (!
flag34 && Main.rand.Next(50) == 0 && !Main.player[
k].ZoneSnow)
89945 {
89946 newNPC = ((!Main.hardMode) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 10, 1) : ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 10, 1) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 95, 1)));
89947 }
89948 else if (Main.hardMode && Main.rand.Next(3) == 0)
89949 {
89951 }
89952 else if (Main.hardMode && Main.rand.Next(4) != 0)
89953 {
89955 }
89956 else if (Main.remixWorld)
89957 {
89959 {
89961 }
89962 else
89963 {
89965 if (Main.rand.Next(3) == 0)
89966 {
89967 Main.npc[
newNPC].SetDefaults(-9);
89968 }
89969 else
89970 {
89971 Main.npc[
newNPC].SetDefaults(-8);
89972 }
89973 }
89974 }
89975 else if (
num56 == 147 ||
num56 == 161 || Main.player[
k].ZoneSnow)
89976 {
89978 }
89979 else
89980 {
89982 if (Main.rand.Next(5) == 0)
89983 {
89984 Main.npc[
newNPC].SetDefaults(-9);
89985 }
89986 else if (Main.rand.Next(2) == 0)
89987 {
89988 Main.npc[
newNPC].SetDefaults(1);
89989 }
89990 else
89991 {
89992 Main.npc[
newNPC].SetDefaults(-8);
89993 }
89994 }
89995 }
89996 else if (
num24 > Main.maxTilesY - 190)
89997 {
89998 newNPC = ((Main.remixWorld && (double)
num > (
double)Main.maxTilesX * 0.38 + 50.0 && (double)
num < (
double)Main.maxTilesX * 0.62) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 59) : ((Main.hardMode && !
savedTaxCollector && Main.rand.Next(20) == 0 && !
AnyNPCs(534)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 534) : ((Main.rand.Next(8) == 0) ?
SpawnNPC_SpawnLavaBaitCritters(
num,
num24) : ((Main.rand.Next(40) == 0 && !
AnyNPCs(39)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 39, 1) : ((Main.rand.Next(14) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 24) : ((Main.rand.Next(7) != 0) ? ((Main.rand.Next(3) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 59) : ((!Main.hardMode || !
downedMechBossAny || Main.rand.Next(5) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 60) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 151))) : ((Main.rand.Next(10) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 66) : ((!Main.hardMode || !
downedMechBossAny || Main.rand.Next(5) == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 62) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 156)))))))));
89999 }
90001 {
90003 }
90004 else if (Main.rand.Next(60) == 0)
90005 {
90007 }
90008 else if ((
num56 == 116 ||
num56 == 117 ||
num56 == 164) && Main.hardMode && !
flag34 && Main.rand.Next(8) == 0)
90009 {
90011 }
90012 else if ((
num35 == 147 ||
num35 == 161 ||
num35 == 162 ||
num35 == 163 ||
num35 == 164 ||
num35 == 200) && !
flag34 && Main.hardMode && Main.player[
k].ZoneCorrupt && Main.rand.Next(30) == 0)
90013 {
90015 }
90016 else if ((
num35 == 147 ||
num35 == 161 ||
num35 == 162 ||
num35 == 163 ||
num35 == 164 ||
num35 == 200) && !
flag34 && Main.hardMode && Main.player[
k].ZoneHallow && Main.rand.Next(30) == 0)
90017 {
90019 }
90020 else if ((
num35 == 147 ||
num35 == 161 ||
num35 == 162 ||
num35 == 163 ||
num35 == 164 ||
num35 == 200) && !
flag34 && Main.hardMode && Main.player[
k].ZoneCrimson && Main.rand.Next(30) == 0)
90021 {
90023 }
90024 else if (Main.hardMode && Main.player[
k].ZoneSnow && Main.rand.Next(10) == 0)
90025 {
90027 }
90028 else if (!
flag34 && Main.rand.Next(100) == 0 && !Main.player[
k].ZoneHallow)
90029 {
90030 newNPC = (Main.hardMode ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 95, 1) : ((!Main.player[
k].ZoneSnow) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 10, 1) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 185)));
90031 }
90032 else if (Main.player[
k].ZoneSnow && Main.rand.Next(20) == 0)
90033 {
90035 }
90036 else if ((!Main.hardMode && Main.rand.Next(10) == 0) || (Main.hardMode && Main.rand.Next(20) == 0))
90037 {
90038 if (Main.player[
k].ZoneSnow)
90039 {
90041 }
90042 else if (Main.rand.Next(3) == 0)
90043 {
90045 Main.npc[
newNPC].SetDefaults(-6);
90046 }
90047 else
90048 {
90050 }
90051 }
90052 else if (!Main.hardMode && Main.rand.Next(4) == 0)
90053 {
90055 if (Main.player[
k].ZoneJungle)
90056 {
90057 Main.npc[
newNPC].SetDefaults(-10);
90058 }
90059 else if (Main.player[
k].ZoneSnow)
90060 {
90061 Main.npc[
newNPC].SetDefaults(184);
90062 }
90063 else
90064 {
90065 Main.npc[
newNPC].SetDefaults(-6);
90066 }
90067 }
90068 else if (Main.rand.Next(2) != 0)
90069 {
90070 newNPC = ((Main.hardMode && (Main.player[
k].ZoneHallow & (Main.rand.Next(2) == 0))) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 138) : (Main.player[
k].ZoneJungle ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 51) : ((Main.player[
k].ZoneGlowshroom && (
num35 == 70 ||
num35 == 190)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 634) : ((Main.hardMode && Main.player[
k].ZoneHallow) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 137) : ((Main.hardMode && Main.rand.Next(6) > 0) ? ((Main.rand.Next(3) != 0 || (
num35 != 147 &&
num35 != 161 &&
num35 != 162)) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 93) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 150)) : ((
num35 != 147 &&
num35 != 161 &&
num35 != 162) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 49) : ((!Main.hardMode) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 150) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 169))))))));
90071 }
90072 else if (Main.rand.Next(35) == 0 &&
CountNPCS(453) == 0)
90073 {
90075 }
90076 else if (Main.rand.Next(80) == 0)
90077 {
90079 }
90080 else if (Main.hardMode && (Main.remixWorld || (
double)
num24 > (Main.rockLayer + (
double)Main.maxTilesY) / 2.0) && Main.rand.Next(200) == 0)
90081 {
90083 }
90084 else if ((Main.remixWorld || (
double)
num24 > (Main.rockLayer + (
double)Main.maxTilesY) / 2.0) && (Main.rand.Next(200) == 0 || (Main.rand.Next(50) == 0 && (Main.player[
k].armor[1].type == 4256 || (Main.player[
k].armor[1].type >= 1282 && Main.player[
k].armor[1].type <= 1287)) && Main.player[
k].armor[0].type != 238)))
90085 {
90087 }
90088 else if (
flag2 && Main.rand.Next(4) != 0)
90089 {
90091 }
90092 else if (
flag38 && Main.rand.Next(5) != 0)
90093 {
90095 }
90096 else if (Main.hardMode && Main.rand.Next(10) != 0)
90097 {
90098 if (Main.rand.Next(2) != 0)
90099 {
90101 }
90102 else if (Main.player[
k].ZoneSnow)
90103 {
90105 }
90106 else
90107 {
90109 if ((Main.remixWorld || (
double)
num24 > (Main.rockLayer + (
double)Main.maxTilesY) / 2.0) && Main.rand.Next(5) == 0)
90110 {
90111 Main.npc[
newNPC].SetDefaults(-15);
90112 }
90113 }
90114 }
90115 else if (!
flag34 && (Main.halloween || Main.player[
k].ZoneGraveyard) && Main.rand.Next(30) == 0)
90116 {
90118 }
90119 else if (Main.rand.Next(20) == 0)
90120 {
90122 }
90124 {
90126 }
90127 else if (Main.player[
k].ZoneSnow)
90128 {
90130 }
90131 else if (Main.rand.Next(3) == 0)
90132 {
90134 }
90135 else if (Main.player[
k].ZoneGlowshroom && (
num35 == 70 ||
num35 == 190))
90136 {
90138 }
90139 else if (Main.halloween && Main.rand.Next(2) == 0)
90140 {
90142 }
90143 else if (Main.expertMode && Main.rand.Next(3) == 0)
90144 {
90145 int num15 = Main.rand.Next(4);
90146 newNPC = ((
num15 == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 449) : ((
num15 == 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 450) : ((
num15 != 0) ?
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 452) :
NewNPC(
GetSpawnSourceForNaturalSpawn(),
num * 16 + 8,
num24 * 16, 451))));
90147 }
90148 else
90149 {
90150 switch (Main.rand.Next(4))
90151 {
90152 case 0:
90154 if (Main.rand.Next(3) == 0)
90155 {
90156 if (Main.rand.Next(2) == 0)
90157 {
90158 Main.npc[
newNPC].SetDefaults(-47);
90159 }
90160 else
90161 {
90162 Main.npc[
newNPC].SetDefaults(-46);
90163 }
90164 }
90165 break;
90166 case 1:
90168 if (Main.rand.Next(3) == 0)
90169 {
90170 if (Main.rand.Next(2) == 0)
90171 {
90172 Main.npc[
newNPC].SetDefaults(-49);
90173 }
90174 else
90175 {
90176 Main.npc[
newNPC].SetDefaults(-48);
90177 }
90178 }
90179 break;
90180 case 2:
90182 if (Main.rand.Next(3) == 0)
90183 {
90184 if (Main.rand.Next(2) == 0)
90185 {
90186 Main.npc[
newNPC].SetDefaults(-51);
90187 }
90188 else
90189 {
90190 Main.npc[
newNPC].SetDefaults(-50);
90191 }
90192 }
90193 break;
90194 case 3:
90196 if (Main.rand.Next(3) == 0)
90197 {
90198 if (Main.rand.Next(2) == 0)
90199 {
90200 Main.npc[
newNPC].SetDefaults(-53);
90201 }
90202 else
90203 {
90204 Main.npc[
newNPC].SetDefaults(-52);
90205 }
90206 }
90207 break;
90208 }
90209 }
90210 }
90212 {
90214 }
90215 if (Main.npc[
newNPC].type == 1 && Main.player[
k].RollLuck(180) == 0)
90216 {
90217 Main.npc[
newNPC].SetDefaults(-4);
90218 }
90219 if (Main.tenthAnniversaryWorld && Main.npc[
newNPC].type == 1 && Main.player[
k].RollLuck(180) == 0)
90220 {
90221 Main.npc[
newNPC].SetDefaults(667);
90222 }
90223 if (Main.netMode == 2 &&
newNPC < 200)
90224 {
90225 NetMessage.SendData(23, -1, -1,
null,
newNPC);
90226 }
90227 break;
90228 }
90229 }
static readonly CreativePowerManager Instance
static bool ReadyToFindBartender
static void SpawnNPC(ref int newNPC)
static bool[] AllowsUndergroundDesertEnemiesToSpawn
static int SpawnNPC(int type, int tileX, int tileY)
static ? int ChooseSpawn(NPCSpawnInfo spawnInfo)
static void EditSpawnRate(Player player, ref int spawnRate, ref int maxSpawns)
static void EditSpawnRange(Player player, ref int spawnRangeX, ref int spawnRangeY, ref int safeRangeX, ref int safeRangeY)
This serves as the central class from which NPC-related functions are carried out....
static void SpawnNPC_SpawnFrog(int spawnTileX, int spawnTileY, int plr)
static CoinLossRevengeSystem RevengeManager
static int CountNPCS(int Type)
Returns the number of active NPC in the world of the given NPC type (F:Terraria.NPC....
static int stinkBugChance
static void ResetRemixHax()
static bool downedMechBoss2
Denotes whether or not the Twins have been defeated at least once in the current world.
static int goldCritterChance
static bool unlockedSlimePurpleSpawn
static bool NearSpikeBall(int x, int y)
static bool savedTaxCollector
static int MoonLordFightingDistance
static int SpawnNPC_SpawnLavaBaitCritters(int spawnTileX, int spawnTileY)
static int butterflyChance
static readonly int AFKTimeNeededForNoWorms
static bool downedMechBossAny
Denotes whether or not ANY Mechanical Boss has been defeated at least once in the current world.
static int[,] cavernMonsterType
static bool downedBoss1
Denotes whether or not the Eye of Cthulhu has been defeated at least once in the current world.
static int SpawnNPC_TryFindingProperGroundTileType(int spawnTileType, int x, int y)
static int defaultSpawnRate
static bool FindCattailTop(int landX, int landY, out int cattailX, out int cattailY)
static bool downedMechBoss3
Denotes whether or not Skeletron Prime has been defeated at least once in the current world.
static void SlimeRainSpawns(int plr)
static bool AnyDanger(bool quickBossNPCCheck=false, bool ignorePillarsAndMoonlordCountdown=false)
static bool AnyNPCs(int Type)
Returns true if there are any active NPC in the world of the given NPC type (F:Terraria....
static int SpawnNPC_GetGemBunnyToSpawn()
static bool SpawnNPC_CheckToSpawnUndergroundFairy(int spawnTileX, int spawnTileY, int plr)
static int RollDragonflyType(int tileType=2)
static bool unlockedSlimeOldSpawn
static bool downedGoblins
Denotes whether or not at least one Goblin Army has been defeated in the current world.
static bool Spawning_SandstoneCheck(int x, int y)
static int NewNPC(IEntitySource source, int X, int Y, int Type, int Start=0, float ai0=0f, float ai1=0f, float ai2=0f, float ai3=0f, int Target=255)
Spawns an NPC into the game world with the given type. This method should not be called on multipla...
static void SpawnOnPlayer(int plr, int Type)
static int fireFlyFriendly
static bool downedGolemBoss
Denotes whether or not Golem has been defeated at least once in the current world.
static bool downedMartians
Denotes whether or not at least one Martian Madness event has been cleared in the current world.
static bool downedBoss3
Denotes whether or not Skeletron has been defeated at least once in the current world.
static int SpawnNPC_GetGemSquirrelToSpawn()
static bool downedPlantBoss
Denotes whether or not Plantera has been defeated at least once in the current world.
static bool savedBartender
static bool TooWindyForButterflies
static int defaultMaxSpawns
static IEntitySource GetSpawnSourceForNaturalSpawn()
static bool SpawnTileOrAboveHasAnyWallInSet(int x, int y, bool[] wallTypes)
static bool downedMechBoss1
Denotes whether or not the Destroyer has been defeated at least once in the current world.
static bool SpawnNPC_CheckToSpawnRockGolem(int spawnTileX, int spawnTileY, int plr, int tileType)
static int fireFlyMultiple
A struct that stores information regarding where an NPC is naturally spawning and the player it is sp...