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

◆ CheckInvasionProgressDisplay()

static void Terraria.Main.CheckInvasionProgressDisplay ( )
inlinestatic

Definition at line 44519 of file Main.cs.

44520 {
44521 if (invasionProgressMode != 2)
44522 {
44524 return;
44525 }
44526 bool flag = false;
44527 Player player = Main.player[myPlayer];
44529 int num = 5000;
44530 int num2 = 0;
44531 for (int i = 0; i < 200; i++)
44532 {
44533 if (!npc[i].active)
44534 {
44535 continue;
44536 }
44537 num2 = 0;
44538 switch (npc[i].type)
44539 {
44540 case 338:
44541 case 339:
44542 case 340:
44543 case 341:
44544 case 342:
44545 case 343:
44546 case 344:
44547 case 345:
44548 case 346:
44549 case 347:
44550 case 348:
44551 case 349:
44552 case 350:
44553 num2 = 1;
44554 break;
44555 case 305:
44556 case 306:
44557 case 307:
44558 case 308:
44559 case 309:
44560 case 310:
44561 case 311:
44562 case 312:
44563 case 313:
44564 case 314:
44565 case 315:
44566 case 325:
44567 case 326:
44568 case 327:
44569 case 329:
44570 case 330:
44571 num2 = 2;
44572 break;
44573 case 26:
44574 case 27:
44575 case 28:
44576 case 29:
44577 case 111:
44578 num2 = 4;
44579 break;
44580 case 143:
44581 case 144:
44582 case 145:
44583 num2 = 5;
44584 break;
44585 case 212:
44586 case 213:
44587 case 214:
44588 case 215:
44589 case 216:
44590 case 491:
44591 num2 = 6;
44592 break;
44593 case 381:
44594 case 382:
44595 case 383:
44596 case 385:
44597 case 386:
44598 case 388:
44599 case 389:
44600 case 390:
44601 case 391:
44602 case 395:
44603 num2 = 7;
44604 break;
44605 case 548:
44606 case 549:
44607 case 551:
44608 case 552:
44609 case 553:
44610 case 554:
44611 case 555:
44612 case 556:
44613 case 557:
44614 case 558:
44615 case 559:
44616 case 560:
44617 case 561:
44618 case 562:
44619 case 563:
44620 case 564:
44621 case 565:
44622 case 568:
44623 case 569:
44624 case 570:
44625 case 571:
44626 case 572:
44627 case 573:
44628 case 574:
44629 case 575:
44630 case 576:
44631 case 577:
44632 case 578:
44633 num2 = 3;
44634 break;
44635 }
44636 if (num2 != 0 && (num2 != 1 || (!((double)player.position.Y > worldSurface * 16.0) && !dayTime && snowMoon)) && (num2 != 2 || (!((double)player.position.Y > worldSurface * 16.0) && !dayTime && pumpkinMoon)) && (num2 != 3 || DD2Event.Ongoing) && (num2 <= 3 || (!((double)player.position.Y > worldSurface * 16.0) && invasionType == num2 - 3)))
44637 {
44638 Microsoft.Xna.Framework.Rectangle value = new Microsoft.Xna.Framework.Rectangle((int)(npc[i].position.X + (float)(npc[i].width / 2)) - num, (int)(npc[i].position.Y + (float)(npc[i].height / 2)) - num, num * 2, num * 2);
44639 if (rectangle.Intersects(value))
44640 {
44641 flag = true;
44642 break;
44643 }
44644 }
44645 }
44647 if (!flag || invasionProgressIcon != 0)
44648 {
44649 return;
44650 }
44651 int waveNumber = NPC.waveNumber;
44652 if (snowMoon)
44653 {
44654 int progressMax = NPC.MoonEventRequiredPointsPerWaveLookup[waveNumber];
44655 ReportInvasionProgress((int)NPC.waveKills, progressMax, 1, waveNumber);
44656 return;
44657 }
44658 if (pumpkinMoon)
44659 {
44660 int progressMax2 = NPC.MoonEventRequiredPointsPerWaveLookup[waveNumber];
44661 ReportInvasionProgress((int)NPC.waveKills, progressMax2, 2, waveNumber);
44662 return;
44663 }
44664 if (DD2Event.Ongoing)
44665 {
44667 return;
44668 }
44669 int progressMax3 = 1;
44670 if (invasionType != 0 && invasionSizeStart != 0)
44671 {
44673 }
44675 }
static int invasionProgressIcon
Definition Main.cs:1986
static int invasionSizeStart
Definition Main.cs:1980
static double worldSurface
Definition Main.cs:1272
static int myPlayer
Definition Main.cs:1801
static void ReportInvasionProgress(int progress, int progressMax, int icon, int progressWave)
Definition Main.cs:44714
static bool dayTime
Definition Main.cs:1282
static int screenHeight
Definition Main.cs:1721
static Vector2 screenPosition
Definition Main.cs:1715
static bool invasionProgressNearInvasion
Definition Main.cs:1982
static int invasionType
Definition Main.cs:1970
static NPC[] npc
Definition Main.cs:1685
static int invasionProgressMode
Definition Main.cs:1984
static int screenWidth
Definition Main.cs:1719
static bool snowMoon
Definition Main.cs:1300
static bool pumpkinMoon
Definition Main.cs:1298
static Player[] player
Definition Main.cs:1803
static int invasionSize
Definition Main.cs:1974

References Terraria.Main.dayTime, System.Text.RegularExpressions.i, Terraria.Main.invasionProgressIcon, Terraria.Main.invasionProgressMode, Terraria.Main.invasionProgressNearInvasion, Terraria.Main.invasionSize, Terraria.Main.invasionSizeStart, Terraria.Main.invasionType, Terraria.NPC.MoonEventRequiredPointsPerWaveLookup, Terraria.Main.myPlayer, Terraria.Main.npc, Terraria.GameContent.Events.DD2Event.Ongoing, Terraria.Main.player, Terraria.Main.pumpkinMoon, Terraria.GameContent.Events.DD2Event.ReportEventProgress(), Terraria.Main.ReportInvasionProgress(), Terraria.Main.screenHeight, Terraria.Main.screenPosition, Terraria.Main.screenWidth, Terraria.Main.snowMoon, System.type, System.value, Terraria.NPC.waveKills, Terraria.NPC.waveNumber, and Terraria.Main.worldSurface.

Referenced by Terraria.Main.DoUpdate().