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

◆ Difficulty_3_SpawnMonsterFromGate()

static void Terraria.GameContent.Events.DD2Event.Difficulty_3_SpawnMonsterFromGate ( Vector2 gateBottom)
inlinestaticprivate

Definition at line 1513 of file DD2Event.cs.

1514 {
1515 int x = (int)gateBottom.X;
1516 int y = (int)gateBottom.Y;
1517 int num = 60;
1518 int num2 = 7;
1519 if (NPC.waveNumber > 1)
1520 {
1521 num2 = 9;
1522 }
1523 if (NPC.waveNumber > 3)
1524 {
1525 num2 = 12;
1526 }
1527 if (NPC.waveNumber > 5)
1528 {
1529 num2 = 15;
1530 }
1531 int num3 = 7;
1532 if (NPC.waveNumber > 4)
1533 {
1534 num3 = 10;
1535 }
1536 int num4 = 2;
1537 if (NPC.waveNumber > 5)
1538 {
1539 num4 = 3;
1540 }
1541 int num5 = 12;
1542 if (NPC.waveNumber > 3)
1543 {
1544 num5 = 18;
1545 }
1546 int num6 = 4;
1547 if (NPC.waveNumber > 5)
1548 {
1549 num6 = 6;
1550 }
1551 int num7 = 4;
1552 for (int i = 1; i < Main.CurrentFrameFlags.ActivePlayersCount; i++)
1553 {
1554 num = (int)((double)num * 1.3);
1555 num2 = (int)((double)num2 * 1.3);
1556 num5 = (int)((double)num * 1.3);
1557 num6 = (int)((double)num * 1.35);
1558 num7 = (int)((double)num7 * 1.3);
1559 }
1560 int num8 = 200;
1561 int num9 = 200;
1562 switch (NPC.waveNumber)
1563 {
1564 case 1:
1565 if (Main.rand.Next(18) == 0 && NPC.CountNPCS(563) < num2)
1566 {
1567 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 563);
1568 }
1569 else if (NPC.CountNPCS(554) < num)
1570 {
1571 if (Main.rand.Next(7) == 0)
1572 {
1573 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 557);
1574 }
1575 num9 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1576 }
1577 break;
1578 case 2:
1579 if (Main.rand.Next(3) == 0 && NPC.CountNPCS(578) < num7)
1580 {
1581 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 578);
1582 }
1583 else if (Main.rand.Next(7) == 0 && NPC.CountNPCS(563) < num2)
1584 {
1585 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 563);
1586 }
1587 else if (Main.rand.Next(3) == 0 && NPC.CountNPCS(573) < num5)
1588 {
1589 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 573);
1590 }
1591 else if (NPC.CountNPCS(554) < num)
1592 {
1593 if (Main.rand.Next(4) == 0)
1594 {
1595 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 557);
1596 }
1597 num9 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1598 }
1599 break;
1600 case 3:
1601 if (Main.rand.Next(13) == 0 && NPC.CountNPCS(571) < num6)
1602 {
1603 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 571);
1604 }
1605 else if (Main.rand.Next(7) == 0 && NPC.CountNPCS(573) < num5)
1606 {
1607 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 573);
1608 }
1609 else if (Main.rand.Next(10) == 0 && NPC.CountNPCS(560) < num3)
1610 {
1611 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 560);
1612 }
1613 else if (Main.rand.Next(8) == 0 && NPC.CountNPCS(563) < num2)
1614 {
1615 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 563);
1616 }
1617 else if (NPC.CountNPCS(554) + NPC.CountNPCS(557) < num)
1618 {
1619 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1620 }
1621 break;
1622 case 4:
1623 if (Main.rand.Next(24) == 0 && !NPC.AnyNPCs(565))
1624 {
1625 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 565);
1626 }
1627 else if (Main.rand.Next(12) == 0 && NPC.CountNPCS(571) < num6)
1628 {
1629 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 571);
1630 }
1631 else if (Main.rand.Next(15) == 0 && NPC.CountNPCS(560) < num3)
1632 {
1633 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 560);
1634 }
1635 else if (Main.rand.Next(7) == 0 && NPC.CountNPCS(563) < num2)
1636 {
1637 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 563);
1638 }
1639 else if (Main.rand.Next(5) == 0 && NPC.CountNPCS(573) + NPC.CountNPCS(575) < num5)
1640 {
1641 num8 = ((Main.rand.Next(3) == 0) ? NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 575) : NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 573));
1642 }
1643 else if (NPC.CountNPCS(554) < num)
1644 {
1645 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1646 }
1647 break;
1648 case 5:
1649 if (Main.rand.Next(20) == 0 && !NPC.AnyNPCs(577))
1650 {
1651 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 577);
1652 }
1653 else if (Main.rand.Next(17) == 0 && NPC.CountNPCS(569) < num4)
1654 {
1655 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 569);
1656 }
1657 else if (Main.rand.Next(8) == 0 && NPC.CountNPCS(571) < num6)
1658 {
1659 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 571);
1660 }
1661 else if (Main.rand.Next(7) == 0 && NPC.CountNPCS(573) + NPC.CountNPCS(575) < num5)
1662 {
1663 num8 = ((Main.rand.Next(4) == 0) ? NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 575) : NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 573));
1664 }
1665 else if (NPC.CountNPCS(554) + NPC.CountNPCS(557) < num)
1666 {
1667 if (Main.rand.Next(3) == 0)
1668 {
1669 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 557);
1670 }
1671 num9 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1672 }
1673 break;
1674 case 6:
1675 if (Main.rand.Next(20) == 0 && !NPC.AnyNPCs(577))
1676 {
1677 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 577);
1678 }
1679 else if (Main.rand.Next(20) == 0 && !NPC.AnyNPCs(565))
1680 {
1681 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 565);
1682 }
1683 else if (Main.rand.Next(12) == 0 && NPC.CountNPCS(571) < num6)
1684 {
1685 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 571);
1686 }
1687 else if (Main.rand.Next(25) == 0 && NPC.CountNPCS(569) < num4)
1688 {
1689 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 569);
1690 }
1691 if (Main.rand.Next(7) == 0 && NPC.CountNPCS(578) < num7)
1692 {
1693 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 578);
1694 }
1695 else if (Main.rand.Next(7) == 0 && NPC.CountNPCS(573) + NPC.CountNPCS(575) < num5)
1696 {
1697 num8 = ((Main.rand.Next(3) == 0) ? NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 575) : NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 573));
1698 }
1699 else if (Main.rand.Next(5) == 0 && NPC.CountNPCS(563) < num2)
1700 {
1701 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 563);
1702 }
1703 else if (NPC.CountNPCS(554) + NPC.CountNPCS(557) < num)
1704 {
1705 if (Main.rand.Next(3) == 0)
1706 {
1707 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 557);
1708 }
1709 num9 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1710 }
1711 break;
1712 case 7:
1713 if (Main.rand.Next(20) == 0 && NPC.CountNPCS(571) < num6)
1714 {
1715 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 571);
1716 }
1717 else if (Main.rand.Next(17) == 0 && NPC.CountNPCS(569) < num4)
1718 {
1719 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 569);
1720 }
1721 else if (Main.rand.Next(10) == 0 && NPC.CountNPCS(563) < num2)
1722 {
1723 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 563);
1724 }
1725 else if (NPC.CountNPCS(554) + NPC.CountNPCS(557) < num)
1726 {
1727 if (Main.rand.Next(5) == 0)
1728 {
1729 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 557);
1730 }
1731 num9 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1732 }
1733 break;
1734 default:
1735 num8 = NPC.NewNPC(GetSpawnSource_OldOnesArmy(), x, y, 554);
1736 break;
1737 }
1738 if (Main.netMode == 2 && num8 < 200)
1739 {
1740 NetMessage.SendData(23, -1, -1, null, num8);
1741 }
1742 if (Main.netMode == 2 && num9 < 200)
1743 {
1744 NetMessage.SendData(23, -1, -1, null, num9);
1745 }
1746 }
static IEntitySource GetSpawnSource_OldOnesArmy()
Definition DD2Event.cs:1786

References Terraria.Main.CurrentFrameFlags.ActivePlayersCount, Terraria.NPC.AnyNPCs(), Terraria.NPC.CountNPCS(), Terraria.GameContent.Events.DD2Event.GetSpawnSource_OldOnesArmy(), Terraria.Main.netMode, Terraria.NPC.NewNPC(), Terraria.Main.rand, Terraria.NetMessage.SendData(), and Terraria.NPC.waveNumber.

Referenced by Terraria.GameContent.Events.DD2Event.SpawnMonsterFromGate().