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

◆ SmashAltar()

static void Terraria.WorldGen.SmashAltar ( int i,
int j )
inlinestatic

Definition at line 42255 of file WorldGen.cs.

42256 {
42257 //IL_0149: Unknown result type (might be due to invalid IL or missing references)
42258 //IL_0238: Unknown result type (might be due to invalid IL or missing references)
42259 //IL_031b: Unknown result type (might be due to invalid IL or missing references)
42260 //IL_04dc: Unknown result type (might be due to invalid IL or missing references)
42261 if (Main.netMode == 1 || !Main.hardMode || noTileActions || gen)
42262 {
42263 return;
42264 }
42265 int num = altarCount % 3;
42266 int num3 = altarCount / 3 + 1;
42267 double num4 = (double)Main.maxTilesX / 4200.0;
42268 int num5 = 1 - num;
42269 num4 = num4 * 310.0 - (double)(85 * num);
42270 num4 *= 0.85;
42271 num4 /= (double)num3;
42272 bool flag = false;
42273 if (Main.drunkWorld)
42274 {
42275 if (SavedOreTiers.Adamantite == 111)
42276 {
42277 SavedOreTiers.Adamantite = 223;
42278 }
42279 else if (SavedOreTiers.Adamantite == 223)
42280 {
42281 SavedOreTiers.Adamantite = 111;
42282 }
42283 }
42284 switch (num)
42285 {
42286 case 0:
42287 {
42288 if (SavedOreTiers.Cobalt == -1)
42289 {
42290 flag = true;
42291 SavedOreTiers.Cobalt = 107;
42292 if (genRand.Next(2) == 0)
42293 {
42294 SavedOreTiers.Cobalt = 221;
42295 }
42296 }
42297 int num7 = 12;
42298 if (SavedOreTiers.Cobalt == 221)
42299 {
42300 num7 += 9;
42301 num4 *= 0.8999999761581421;
42302 }
42303 if (Main.netMode == 0)
42304 {
42305 Main.NewText(Lang.misc[num7].Value, 50, byte.MaxValue, 130);
42306 }
42307 else if (Main.netMode == 2)
42308 {
42309 ChatHelper.BroadcastChatMessage(NetworkText.FromKey(Lang.misc[num7].Key), new Color(50, 255, 130));
42310 }
42311 num = SavedOreTiers.Cobalt;
42312 num4 *= 1.0499999523162842;
42313 break;
42314 }
42315 case 1:
42316 {
42317 if (Main.drunkWorld)
42318 {
42319 if (SavedOreTiers.Mythril == 108)
42320 {
42321 SavedOreTiers.Mythril = 222;
42322 }
42323 else if (SavedOreTiers.Mythril == 222)
42324 {
42325 SavedOreTiers.Mythril = 108;
42326 }
42327 }
42328 if (SavedOreTiers.Mythril == -1)
42329 {
42330 flag = true;
42331 SavedOreTiers.Mythril = 108;
42332 if (genRand.Next(2) == 0)
42333 {
42334 SavedOreTiers.Mythril = 222;
42335 }
42336 }
42337 int num8 = 13;
42338 if (SavedOreTiers.Mythril == 222)
42339 {
42340 num8 += 9;
42341 num4 *= 0.8999999761581421;
42342 }
42343 if (Main.netMode == 0)
42344 {
42345 Main.NewText(Lang.misc[num8].Value, 50, byte.MaxValue, 130);
42346 }
42347 else if (Main.netMode == 2)
42348 {
42349 ChatHelper.BroadcastChatMessage(NetworkText.FromKey(Lang.misc[num8].Key), new Color(50, 255, 130));
42350 }
42351 num = SavedOreTiers.Mythril;
42352 break;
42353 }
42354 default:
42355 {
42356 if (Main.drunkWorld)
42357 {
42358 if (SavedOreTiers.Cobalt == 107)
42359 {
42360 SavedOreTiers.Cobalt = 221;
42361 }
42362 else if (SavedOreTiers.Cobalt == 221)
42363 {
42364 SavedOreTiers.Cobalt = 107;
42365 }
42366 }
42367 if (SavedOreTiers.Adamantite == -1)
42368 {
42369 flag = true;
42370 SavedOreTiers.Adamantite = 111;
42371 if (genRand.Next(2) == 0)
42372 {
42373 SavedOreTiers.Adamantite = 223;
42374 }
42375 }
42376 int num6 = 14;
42377 if (SavedOreTiers.Adamantite == 223)
42378 {
42379 num6 += 9;
42380 num4 *= 0.8999999761581421;
42381 }
42382 if (Main.netMode == 0)
42383 {
42384 Main.NewText(Lang.misc[num6].Value, 50, byte.MaxValue, 130);
42385 }
42386 else if (Main.netMode == 2)
42387 {
42388 ChatHelper.BroadcastChatMessage(NetworkText.FromKey(Lang.misc[num6].Key), new Color(50, 255, 130));
42389 }
42390 num = SavedOreTiers.Adamantite;
42391 break;
42392 }
42393 }
42394 if (flag)
42395 {
42396 NetMessage.SendData(7);
42397 }
42398 for (int k = 0; (double)k < num4; k++)
42399 {
42400 int i2 = genRand.Next(100, Main.maxTilesX - 100);
42401 double num9 = Main.worldSurface;
42402 if (num == 108 || num == 222)
42403 {
42404 num9 = Main.rockLayer;
42405 }
42406 if (num == 111 || num == 223)
42407 {
42408 num9 = (Main.rockLayer + Main.rockLayer + (double)Main.maxTilesY) / 3.0;
42409 }
42410 int j2 = genRand.Next((int)num9, Main.maxTilesY - 150);
42411 if (Main.remixWorld)
42412 {
42413 double num10 = Main.maxTilesX - 350;
42414 if (num == 108 || num == 222)
42415 {
42416 num10 = (Main.rockLayer + Main.rockLayer + (double)Main.maxTilesY - 350.0) / 3.0;
42417 }
42418 if (num == 111 || num == 223)
42419 {
42420 num10 = Main.rockLayer - 25.0;
42421 }
42422 j2 = genRand.Next((int)Main.worldSurface + 15, (int)num10);
42423 }
42424 if (Main.tenthAnniversaryWorld)
42425 {
42426 OreRunner(i2, j2, genRand.Next(5, 11 + num5), genRand.Next(5, 11 + num5), (ushort)num);
42427 }
42428 else
42429 {
42430 OreRunner(i2, j2, genRand.Next(5, 9 + num5), genRand.Next(5, 9 + num5), (ushort)num);
42431 }
42432 }
42433 if (Main.netMode != 1)
42434 {
42435 int num2 = Main.rand.Next(2) + 1;
42436 for (int l = 0; l < num2; l++)
42437 {
42438 NPC.SpawnOnPlayer(Player.FindClosest(new Vector2((float)(i * 16), (float)(j * 16)), 16, 16), 82);
42439 }
42440 }
42441 altarCount++;
42443 }
static void BroadcastChatMessage(NetworkText text, Color color, int excludedPlayer=-1)
Definition ChatHelper.cs:51
static NetworkText FromKey(string key, params object[] substitutions)
Creates a NetworkText object from a localization key and optional substitutions. The receiving client...
Represents text that will be sent over the network in multiplayer and displayed to the receiving user...
static void OreRunner(int i, int j, double strength, int steps, ushort type)
static volatile bool gen
Definition WorldGen.cs:1210
static UnifiedRandom genRand
Definition WorldGen.cs:1455
static bool noTileActions
Definition WorldGen.cs:1204
static int altarCount
Definition WorldGen.cs:1216

References Terraria.WorldGen.SavedOreTiers.Adamantite, Terraria.Chat.ChatHelper.BroadcastChatMessage(), Terraria.WorldGen.SavedOreTiers.Cobalt, Terraria.Main.drunkWorld, Terraria.Player.FindClosest(), Terraria.Localization.NetworkText.FromKey(), Terraria.Main.hardMode, Terraria.Main.maxTilesX, Terraria.Main.maxTilesY, Terraria.Lang.misc, Terraria.WorldGen.SavedOreTiers.Mythril, Terraria.Main.netMode, Terraria.Main.NewText(), Terraria.GameContent.Achievements.AchievementsHelper.NotifyProgressionEvent(), Terraria.Main.rand, Terraria.Main.remixWorld, Terraria.Main.rockLayer, Terraria.NetMessage.SendData(), Terraria.NPC.SpawnOnPlayer(), Terraria.Main.tenthAnniversaryWorld, and Terraria.Main.worldSurface.

+ Here is the call graph for this function: