Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TrySpawningFairies()

void Terraria.GameContent.Events.MysticLogFairiesEvent.TrySpawningFairies ( )
inlineprivate

Definition at line 77 of file MysticLogFairiesEvent.cs.

78 {
79 if (Main.maxRaining > 0f || Main.bloodMoon || NPC.MoonLordCountdown > 0 || Main.snowMoon || Main.pumpkinMoon || Main.invasionType > 0 || _stumpCoords.Count == 0)
80 {
81 return;
82 }
84 bool flag = false;
85 for (int i = 0; i < Main.dayRate; i++)
86 {
87 if (Main.rand.Next(oneOverSpawnChance) == 0)
88 {
89 flag = true;
90 break;
91 }
92 }
93 if (!flag)
94 {
95 return;
96 }
97 int index = Main.rand.Next(_stumpCoords.Count);
99 Vector2 vector = p.ToWorldCoordinates(24f);
100 vector.Y -= 50f;
101 if (WorldGen.PlayerLOS(p.X, p.Y))
102 {
103 return;
104 }
105 int num = Main.rand.Next(1, 4);
106 if (Main.rand.Next(7) == 0)
107 {
108 num++;
109 }
110 int num2 = Utils.SelectRandom(Main.rand, new short[3] { 585, 584, 583 });
111 for (int j = 0; j < num; j++)
112 {
113 num2 = Utils.SelectRandom(Main.rand, new short[3] { 585, 584, 583 });
114 if (Main.tenthAnniversaryWorld && Main.rand.Next(4) != 0)
115 {
116 num2 = 583;
117 }
118 int num3 = NPC.NewNPC(new EntitySource_WorldEvent(), (int)vector.X, (int)vector.Y, num2);
119 if (Main.netMode == 2 && num3 < 200)
120 {
121 NetMessage.SendData(23, -1, -1, null, num3);
122 }
123 }
124 _canSpawnFairies = false;
125 }

References Terraria.GameContent.Events.MysticLogFairiesEvent._canSpawnFairies, Terraria.GameContent.Events.MysticLogFairiesEvent._stumpCoords, Terraria.Main.bloodMoon, System.Collections.Generic.List< T >.Count, Terraria.Main.dayRate, Terraria.GameContent.Events.MysticLogFairiesEvent.GetOneOverSpawnChance(), System.index, Terraria.Main.invasionType, Terraria.Main.maxRaining, Terraria.NPC.MoonLordCountdown, Terraria.Main.netMode, Terraria.NPC.NewNPC(), Terraria.WorldGen.PlayerLOS(), Terraria.Main.pumpkinMoon, Terraria.Main.rand, Terraria.NetMessage.SendData(), Terraria.Main.snowMoon, Terraria.Main.tenthAnniversaryWorld, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.

Referenced by Terraria.GameContent.Events.MysticLogFairiesEvent.UpdateTime().