Don't like ads? PRO users don't see any ads ;-)
Guest

AddHellCastle function

By: a guest on Aug 3rd, 2012  |  syntax: None  |  size: 26.11 KB  |  hits: 17  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. public static void AddHellCastle()
  2. {
  3.         byte brimStone = (byte)Config.tileDefs.ID["Brimstone Block"];
  4.         byte brickI = (byte)Config.tileDefs.ID["Impervious Brick"];
  5.         byte caesiumOre = (byte)Config.tileDefs.ID["Caesium Ore"];
  6.         byte resWood = (byte)Config.tileDefs.ID["Resistant Wood"];
  7.         int xoff = WorldGen.genRand.Next(150, (int)(Main.maxTilesX / 3));
  8.         int yoff = Main.maxTilesY - 150;
  9.         Main.statusText = "Generating Hellcastle: 5%";
  10.         for (int x = xoff - 50; x <= xoff + 50; x++)
  11.         {
  12.                 for (int y = yoff - 37; y <= yoff + 37; y++)
  13.                 {
  14.                         Main.tile[x, y].active = false;
  15.                         if (x <= xoff - 45 || x >= xoff + 45 || y <= yoff - 32 || y >= yoff + 32) Main.tile[x, y].active = true;
  16.                         Main.tile[x, y].liquid = 0;
  17.                         Main.tile[x, y].lava = false;
  18.                         Main.tile[x, y].wall = 0;
  19.                         Main.tile[x, y].type = brickI;
  20.                         if (((x <= xoff - 45 && x >= xoff - 50) || (x <= xoff + 50 && x >= xoff + 45)) && (y <= yoff - 26 && y >= yoff - 31))
  21.                         {
  22.                                 Main.tile[x, y].type = resWood;
  23.                         }
  24.                 }
  25.         }
  26.         bool hasMadeOpening = false;
  27.         bool hasMadeOpeningLeftSide = false;
  28.         for(int y = 0; y < 73; y++)
  29.         {
  30.                 if (!(Main.tile[xoff + 51, yoff - y].active) && !hasMadeOpening)
  31.                 {
  32.                         Main.tile[xoff + 50, yoff - y].type = resWood;
  33.                         Main.tile[xoff + 50, yoff - y - 1].type = resWood;
  34.                         Main.tile[xoff + 50, yoff - y + 1].type = resWood;
  35.                         for (int opening = 49; opening >= 45; opening--)
  36.                         {
  37.                                 Main.tile[xoff + opening, yoff - y].active = false;
  38.                                 Main.tile[xoff + opening, yoff - y - 1].active = false;
  39.                                 Main.tile[xoff + opening, yoff - y + 1].active = false;
  40.                                 hasMadeOpening = true;
  41.                         }
  42.                 }
  43.                 if (!(Main.tile[xoff + 51, yoff + y].active) && !hasMadeOpening)
  44.                 {
  45.                         Main.tile[xoff + 50, yoff - y].type = resWood;
  46.                         Main.tile[xoff + 50, yoff - y - 1].type = resWood;
  47.                         Main.tile[xoff + 50, yoff - y + 1].type = resWood;
  48.                         for (int opening = 49; opening >= 45; opening--)
  49.                         {
  50.                                 Main.tile[xoff + opening, yoff - y].active = false;
  51.                                 Main.tile[xoff + opening, yoff - y - 1].active = false;
  52.                                 Main.tile[xoff + opening, yoff - y + 1].active = false;
  53.                                 hasMadeOpening = true;
  54.                         }
  55.                 }
  56.                 if (!(Main.tile[xoff - 51, yoff - y].active) && !hasMadeOpeningLeftSide)
  57.                 {
  58.                         Main.tile[xoff - 50, yoff - y].type = resWood;
  59.                         Main.tile[xoff - 50, yoff - y - 1].type = resWood;
  60.                         Main.tile[xoff - 50, yoff - y + 1].type = resWood;
  61.                         for (int opening = 49; opening >= 45; opening--)
  62.                         {
  63.                                 Main.tile[xoff - opening, yoff - y].active = false;
  64.                                 Main.tile[xoff - opening, yoff - y - 1].active = false;
  65.                                 Main.tile[xoff - opening, yoff - y + 1].active = false;
  66.                                 hasMadeOpeningLeftSide = true;
  67.                         }
  68.                 }
  69.                 if (!(Main.tile[xoff - 51, yoff + y].active) && !hasMadeOpeningLeftSide)
  70.                 {
  71.                         Main.tile[xoff - 50, yoff - y].type = resWood;
  72.                         Main.tile[xoff - 50, yoff - y - 1].type = resWood;
  73.                         Main.tile[xoff - 50, yoff - y + 1].type = resWood;
  74.                         for (int opening = 49; opening >= 45; opening--)
  75.                         {
  76.                                 Main.tile[xoff - opening, yoff - y].active = false;
  77.                                 Main.tile[xoff - opening, yoff - y - 1].active = false;
  78.                                 Main.tile[xoff - opening, yoff - y + 1].active = false;
  79.                                 hasMadeOpeningLeftSide = true;
  80.                         }
  81.                 }
  82.         }
  83.         Main.statusText = "Generating Hellcastle: 15%";
  84.         if (!hasMadeOpening)
  85.         {
  86.                 Main.tile[xoff + 50, yoff].type = resWood;
  87.                 Main.tile[xoff + 50, yoff - 1].type = resWood;
  88.                 Main.tile[xoff + 50, yoff + 1].type = resWood;
  89.                 for (int opening = 49; opening >= 45; opening--)
  90.                 {
  91.                         Main.tile[xoff + opening, yoff].active = false;
  92.                         Main.tile[xoff + opening, yoff - 1].active = false;
  93.                         Main.tile[xoff + opening, yoff + 1].active = false;
  94.                 }
  95.         }
  96.         if (!hasMadeOpeningLeftSide)
  97.         {
  98.                 Main.tile[xoff - 50, yoff].type = resWood;
  99.                 Main.tile[xoff - 50, yoff - 1].type = resWood;
  100.                 Main.tile[xoff - 50, yoff + 1].type = resWood;
  101.                 for (int opening = 49; opening >= 45; opening--)
  102.                 {
  103.                         Main.tile[xoff - opening, yoff].active = false;
  104.                         Main.tile[xoff - opening, yoff - 1].active = false;
  105.                         Main.tile[xoff - opening, yoff + 1].active = false;
  106.                 }
  107.         }
  108.         Main.statusText = "Generating Hellcastle: 20%";
  109.         for (int x2 = xoff - 45; x2 <= xoff + 45; x2++)
  110.         {
  111.                 for (int y2 = yoff - 25; y2 <= yoff - 20; y2++)
  112.                 {
  113.                         Main.tile[x2, y2].active = true;
  114.                         Main.tile[x2, y2].wall = 0;
  115.                         Main.tile[x2, y2].liquid = 0;
  116.                         Main.tile[x2, y2].type = brickI;
  117.                         if ((x2 <= xoff - 25 && x2 >= xoff - 30) || (x2 <= xoff + 30 && x2 >= xoff + 25))
  118.                         {
  119.                                 if (y2 == yoff - 25 || y2 == yoff - 20)
  120.                                 {
  121.                                         Main.tile[x2, y2].type = 19;
  122.                                 }
  123.                                 else Main.tile[x2, y2].active = false;
  124.                         }
  125.                 }
  126.         }
  127.         Main.statusText = "Generating Hellcastle: 25%";
  128.         for (int x4 = xoff - 45; x4 <= xoff + 45; x4++)
  129.         {
  130.                 for (int y4 = yoff + 2; y4 <= yoff + 7; y4++)
  131.                 {
  132.                         Main.tile[x4, y4].active = true;
  133.                         Main.tile[x4, y4].wall = 0;
  134.                         Main.tile[x4, y4].liquid = 0;
  135.                         Main.tile[x4, y4].type = brickI;
  136.                         if ((x4 <= xoff - 25 && x4 >= xoff - 30) || (x4 <= xoff + 30 && x4 >= xoff + 25))
  137.                         {
  138.                                 if (y4 == yoff + 2 || y4 == yoff + 7)
  139.                                 {
  140.                                         Main.tile[x4, y4].type = 19;
  141.                                 }
  142.                                 else Main.tile[x4, y4].active = false;
  143.                         }
  144.                 }
  145.         }
  146.         Main.statusText = "Generating Hellcastle: 30%";
  147.         for (int x5 = xoff - 45; x5 <= xoff + 45; x5++)
  148.         {
  149.                 for (int y5 = yoff + 15; y5 <= yoff + 20; y5++)
  150.                 {
  151.                         Main.tile[x5, y5].active = true;
  152.                         Main.tile[x5, y5].wall = 0;
  153.                         Main.tile[x5, y5].liquid = 0;
  154.                         Main.tile[x5, y5].type = brickI;
  155.                         if ((x5 <= xoff - 25 && x5 >= xoff - 30) || (x5 <= xoff + 30 && x5 >= xoff + 25))
  156.                         {
  157.                                 if (y5 == yoff + 15 || y5 == yoff + 20)
  158.                                 {
  159.                                         Main.tile[x5, y5].type = 19;
  160.                                 }
  161.                                 else if (y5 >= yoff + 16 && y5 <= yoff + 19)
  162.                                 {
  163.                                         Main.tile[x5, y5].active = false;
  164.                                 }
  165.                         }
  166.                 }
  167.         }
  168.         Main.statusText = "Generating Hellcastle: 35%";
  169.         for (int brimstoneX = xoff - 45; brimstoneX <= xoff + 45; brimstoneX++)
  170.         {
  171.                 for (int brimstoneY = yoff + 21; brimstoneY <= yoff + 31; brimstoneY++)
  172.                 {
  173.                         Main.tile[brimstoneX, brimstoneY].liquid = 0;
  174.                         Main.tile[brimstoneX, brimstoneY].wall = 0;
  175.                         Main.tile[brimstoneX, brimstoneY].active = true;
  176.                         Main.tile[brimstoneX, brimstoneY].type = brimStone;
  177.                         if (WorldGen.genRand.Next(5) == 0)
  178.                         {
  179.                                 Main.tile[brimstoneX, brimstoneY].type = caesiumOre;
  180.                         }
  181.                 }
  182.         }
  183.         Main.statusText = "Generating Hellcastle: 40%";
  184.         for (int lanternX = xoff - 45; lanternX <= xoff + 45; lanternX++)
  185.         {
  186.                 for (int lanternY = yoff - 32; lanternY <= yoff + 14; lanternY++)
  187.                 {
  188.                         if (((lanternX == xoff - 40 || lanternX == xoff - 28 || lanternX == xoff - 15 || lanternX == xoff || lanternX == xoff + 15 || lanternX == xoff + 28 || lanternX == xoff + 40) && lanternY == yoff - 31))
  189.                         {
  190.                                 WorldGen.Place1x2Top(lanternX, lanternY, 42);
  191.                         }
  192.                         if (((lanternX == xoff - 40 || lanternX == xoff - 15 || lanternX == xoff || lanternX == xoff + 15 || lanternX == xoff + 40) && lanternY == yoff - 19))
  193.                         {
  194.                                 WorldGen.Place1x2Top(lanternX, lanternY, 42);
  195.                         }
  196.                         if (((lanternX == xoff - 40 || lanternX == xoff - 15 || lanternX == xoff || lanternX == xoff + 15 || lanternX == xoff + 40) && lanternY == yoff + 8))
  197.                         {
  198.                                 WorldGen.Place1x2Top(lanternX, lanternY, 42);
  199.                         }
  200.                         if (((lanternX == xoff - 40 || lanternX == xoff - 15 || lanternX == xoff || lanternX == xoff + 15 || lanternX == xoff + 40) && lanternY == yoff + 1))
  201.                         {
  202.                                 WorldGen.PlaceTile(lanternX, lanternY, 4, true, true, -1, 8);
  203.                         }
  204.                 }
  205.         }
  206.         Main.statusText = "Generating Hellcastle: 45%";
  207.         for (int torchX = xoff - 45; torchX <= xoff + 45; torchX++)
  208.         {
  209.                 for (int torchY = yoff - 32; torchY <= yoff + 20; torchY++)
  210.                 {
  211.                         if ((torchX == xoff - 30 || torchX == xoff - 25 || torchX == xoff + 25 || torchX == xoff + 30) && torchY == yoff - 23)
  212.                         {
  213.                                 WorldGen.PlaceTile(torchX, torchY, 4, true, true, -1, 8);
  214.                         }
  215.                         if ((torchX == xoff - 30 || torchX == xoff - 25 || torchX == xoff + 25 || torchX == xoff + 30) && torchY == yoff + 4)
  216.                         {
  217.                                 WorldGen.PlaceTile(torchX, torchY, 4, true, true, -1, 8);
  218.                         }
  219.                         if ((torchX == xoff - 30 || torchX == xoff - 25 || torchX == xoff + 25 || torchX == xoff + 30) && torchY == yoff + 17)
  220.                         {
  221.                                 WorldGen.PlaceTile(torchX, torchY, 4, true, true, -1, 8);
  222.                         }
  223.                 }
  224.         }
  225.         //Main.statusText = "Generating Hellcastle: 50%";
  226.         Main.statusText = "Generating Hellcastle: 60%";
  227.         for (int platx = xoff - 2; platx <= xoff + 2; platx++)
  228.         {
  229.                 for (int platy = yoff + 32; platy <= yoff + 37; platy++)
  230.                 {
  231.                         Main.tile[platx, platy].active = false;
  232.                         if (platy == yoff + 32 || platy == yoff + 37)
  233.                         {
  234.                                 Main.tile[platx, platy].active = true;
  235.                                 Main.tile[platx, platy].type = 19;
  236.                         }
  237.                         if ((platx == xoff + 2 || platx == xoff - 2) && platy == yoff + 34)
  238.                         {
  239.                                 WorldGen.PlaceTile(platx, platy, 4, true, true, -1, 8);
  240.                         }
  241.                 }
  242.         }
  243.         Main.statusText = "Generating Hellcastle: 65%";
  244.         for (int chestBoxX = xoff - 17; chestBoxX <= xoff + 16; chestBoxX++)
  245.         {
  246.                 for (int chestBoxY = yoff + 38; chestBoxY <= yoff + 55; chestBoxY++)
  247.                 {
  248.                         if (((chestBoxX <= xoff - 12 && chestBoxX >= xoff - 17) || (chestBoxX <= xoff + 16 && chestBoxX >= xoff + 11)) && (chestBoxY <= yoff + 55 && chestBoxY >= yoff + 38))
  249.                         {
  250.                                 Main.tile[chestBoxX, chestBoxY].active = true;
  251.                                 Main.tile[chestBoxX, chestBoxY].wall = 0;
  252.                                 Main.tile[chestBoxX, chestBoxY].liquid = 0;
  253.                                 Main.tile[chestBoxX, chestBoxY].lava = false;
  254.                                 Main.tile[chestBoxX, chestBoxY].type = brickI;
  255.                         }
  256.                         if ((chestBoxX >= xoff - 11 && chestBoxX <= xoff + 10) && (chestBoxY >= yoff + 38 && chestBoxY <= yoff + 50))
  257.                         {
  258.                                 Main.tile[chestBoxX, chestBoxY].active = false;
  259.                                 Main.tile[chestBoxX, chestBoxY].wall = 0;
  260.                                 Main.tile[chestBoxX, chestBoxY].liquid = 0;
  261.                                 Main.tile[chestBoxX, chestBoxY].lava = false;
  262.                         }
  263.                         if ((chestBoxX <= xoff + 10 && chestBoxX >= xoff - 11) && (chestBoxY >= yoff + 51 && chestBoxY <= yoff + 55))
  264.                         {
  265.                                 Main.tile[chestBoxX, chestBoxY].active = true;
  266.                                 Main.tile[chestBoxX, chestBoxY].liquid = 0;
  267.                                 Main.tile[chestBoxX, chestBoxY].lava = false;
  268.                                 Main.tile[chestBoxX, chestBoxY].wall = 0;
  269.                                 Main.tile[chestBoxX, chestBoxY].type = brickI;
  270.                         }
  271.                         //if ((chestBoxX == xoff - 7 || chestBoxX == xoff + 6) && chestBoxY == yoff + 38)
  272.                         //{
  273.                                 //Main.tile[chestBoxX, chestBoxY].type = 42;
  274.                                 //Main.tile[chestBoxX, chestBoxY].active = true;
  275.                                 //Main.tile[chestBoxX, chestBoxY].frameX = (short)1;
  276.                                 //Main.tile[chestBoxX, chestBoxY].frameY = (short)1;
  277.                                 //Main.tile[chestBoxX, chestBoxY + 1].frameX = (short)1;
  278.                                 //Main.tile[chestBoxX, chestBoxY + 1].frameY = (short)19;
  279.                                 //WorldGen.Place1x2Top(chestBoxX, chestBoxY, 42);
  280.                         //}
  281.                         if ((chestBoxX >= xoff - 2 && chestBoxX <= xoff + 1) && (chestBoxY >= yoff + 47 && chestBoxY <= yoff + 50))
  282.                         {
  283.                                 Main.tile[chestBoxX, chestBoxY].active = true;
  284.                                 Main.tile[chestBoxX, chestBoxY].type = resWood;
  285.                                 if ((chestBoxX == xoff - 1 || chestBoxX == xoff) && (chestBoxY == yoff + 48 || chestBoxY == yoff + 49))
  286.                                 {
  287.                                         Main.tile[chestBoxX, chestBoxY].active = false;
  288.                                 }
  289.                         }
  290.                         if (AddHellfireChest(xoff, yoff + 49, Config.itemDefs.byName["Autonomic Drill"].type, false, 1))
  291.                         {
  292.                         }
  293.                 }
  294.         }
  295.         Main.statusText = "Generating Hellcastle: 70%";
  296.         for (int leftSideX = xoff - 65; leftSideX <= xoff - 51; leftSideX++)
  297.         {
  298.                 for (int leftSideY = yoff - 37; leftSideY <= yoff + 37; leftSideY++)
  299.                 {
  300.                         if ((leftSideX <= xoff - 51 && leftSideX >= xoff - 65) && (leftSideY <= yoff + 37 && leftSideY >= yoff - 37))
  301.                         {
  302.                                 Main.tile[leftSideX, leftSideY].active = true;
  303.                                 Main.tile[leftSideX, leftSideY].liquid = 0;
  304.                                 Main.tile[leftSideX, leftSideY].wall = 0;
  305.                                 Main.tile[leftSideX, leftSideY].lava = false;
  306.                                 Main.tile[leftSideX, leftSideY].type = brickI;
  307.                         }
  308.                         if ((leftSideX >= xoff - 60 && leftSideX <= xoff - 51) && ((leftSideY <= yoff - 26 && leftSideY >= yoff - 31) || (leftSideY <= yoff + 31 && leftSideY >= yoff + 26)))
  309.                         {
  310.                                 Main.tile[leftSideX, leftSideY].active = false;
  311.                         }
  312.                         if (leftSideX == xoff - 65 && (leftSideY == yoff - 1 || leftSideY == yoff || leftSideY == yoff + 1))
  313.                         {
  314.                                 Main.tile[leftSideX, leftSideY].type = resWood;
  315.                         }
  316.                         if ((leftSideX >= xoff - 64 && leftSideX <= xoff - 51) && (leftSideY == yoff - 1 || leftSideY == yoff || leftSideY == yoff + 1))
  317.                         {
  318.                                 Main.tile[leftSideX, leftSideY].active = false;
  319.                         }
  320.                         if ((leftSideX >= xoff - 60 && leftSideX <= xoff - 55) && ((leftSideY <= yoff + 26 && leftSideY >= yoff + 5) || (leftSideY <= yoff - 5 && leftSideY >= yoff - 26)))
  321.                         {
  322.                                 Main.tile[leftSideX, leftSideY].active = false;
  323.                                 if (leftSideX == xoff - 60 && (leftSideY == yoff + 18 || leftSideY == yoff - 18))
  324.                                 {
  325.                                         //WorldGen.KillTile(leftSideX, leftSideY, false, false, false);
  326.                                         //Main.tile[leftSideX, leftSideY].active = true;
  327.                                         WorldGen.PlaceTile(leftSideX, leftSideY, 4, true, true, -1, 8);
  328.                                 }
  329.                         }
  330.                         if ((leftSideX <= xoff - 54 && leftSideX >= xoff - 59) && (leftSideY == yoff + 5 || leftSideY == yoff - 5))
  331.                         {
  332.                                 Main.tile[leftSideX, leftSideY].active = false;
  333.                         }
  334.                         if ((leftSideX <= xoff - 53 && leftSideX >= xoff - 58) && (leftSideY == yoff + 4 || leftSideY == yoff - 4))
  335.                         {
  336.                                 Main.tile[leftSideX, leftSideY].active = false;
  337.                         }
  338.                         if ((leftSideX <= xoff - 52 && leftSideX >= xoff - 57) && (leftSideY == yoff + 3 || leftSideY == yoff - 3))
  339.                         {
  340.                                 Main.tile[leftSideX, leftSideY].active = false;
  341.                         }
  342.                         if ((leftSideX <= xoff - 51 && leftSideX >= xoff - 56) && (leftSideY == yoff + 2 || leftSideY == yoff - 2))
  343.                         {
  344.                                 Main.tile[leftSideX, leftSideY].active = true;
  345.                                 Main.tile[leftSideX, leftSideY].type = 19;
  346.                         }
  347.                         if (leftSideX == xoff - 60 && (leftSideY == yoff - 5 || leftSideY == yoff + 5))
  348.                         {
  349.                                 Main.tile[leftSideX, leftSideY].active = true;
  350.                         }
  351.                         if (leftSideX == xoff - 55 && leftSideY == yoff + 31)
  352.                         {
  353.                                 Main.tile[leftSideX, leftSideY].active = true;
  354.                                 Main.tile[leftSideX, leftSideY].type = 4;
  355.                                 Main.tile[leftSideX, leftSideY].frameX = (short)0;
  356.                                 Main.tile[leftSideX, leftSideY].frameY = (short)176;
  357.                                 //WorldGen.PlaceTile(leftSideX, leftSideY, 4, true, true, -1, 8);
  358.                         }
  359.                 }
  360.         }
  361.         Main.statusText = "Generating Hellcastle: 85%";
  362.         for (int rightSideX = xoff + 51; rightSideX <= xoff + 65; rightSideX++)
  363.         {
  364.                 for (int rightSideY = yoff - 37; rightSideY <= yoff + 37; rightSideY++)
  365.                 {
  366.                         if ((rightSideX >= xoff + 51 && rightSideX <= xoff + 65) && (rightSideY <= yoff + 37 && rightSideY >= yoff - 37))
  367.                         {
  368.                                 Main.tile[rightSideX, rightSideY].active = true;
  369.                                 Main.tile[rightSideX, rightSideY].liquid = 0;
  370.                                 Main.tile[rightSideX, rightSideY].wall = 0;
  371.                                 Main.tile[rightSideX, rightSideY].lava = false;
  372.                                 Main.tile[rightSideX, rightSideY].type = brickI;
  373.                         }
  374.                         if ((rightSideX <= xoff + 60 && rightSideX >= xoff + 51) && ((rightSideY <= yoff - 26 && rightSideY >= yoff - 31) || (rightSideY <= yoff + 31 && rightSideY >= yoff + 26)))
  375.                         {
  376.                                 Main.tile[rightSideX, rightSideY].active = false;
  377.                         }
  378.                         if (rightSideX == xoff + 65 && (rightSideY == yoff - 1 || rightSideY == yoff || rightSideY == yoff + 1))
  379.                         {
  380.                                 Main.tile[rightSideX, rightSideY].type = resWood;
  381.                         }
  382.                         if ((rightSideX <= xoff + 64 && rightSideX >= xoff + 51) && (rightSideY == yoff - 1 || rightSideY == yoff || rightSideY == yoff + 1))
  383.                         {
  384.                                 Main.tile[rightSideX, rightSideY].active = false;
  385.                         }
  386.                         if ((rightSideX <= xoff + 60 && rightSideX >= xoff + 55) && ((rightSideY <= yoff + 26 && rightSideY >= yoff + 5) || (rightSideY <= yoff - 5 && rightSideY >= yoff - 26)))
  387.                         {
  388.                                 Main.tile[rightSideX, rightSideY].active = false;
  389.                                 if (rightSideX == xoff + 60 && (rightSideY == yoff + 18 || rightSideY == yoff - 18))
  390.                                 {
  391.                                         Main.tile[rightSideX, rightSideY].active = true;
  392.                                         Main.tile[rightSideX, rightSideY].type = 4;
  393.                                         Main.tile[rightSideX, rightSideY].frameX = (short)44;
  394.                                         Main.tile[rightSideX, rightSideY].frameY = (short)176;
  395.                                 }
  396.                         }
  397.                         if ((rightSideX >= xoff + 54 && rightSideX <= xoff + 59) && (rightSideY == yoff + 5 || rightSideY == yoff - 5))
  398.                         {
  399.                                 Main.tile[rightSideX, rightSideY].active = false;
  400.                         }
  401.                         if ((rightSideX >= xoff + 53 && rightSideX <= xoff + 58) && (rightSideY == yoff + 4 || rightSideY == yoff - 4))
  402.                         {
  403.                                 Main.tile[rightSideX, rightSideY].active = false;
  404.                         }
  405.                         if ((rightSideX >= xoff + 52 && rightSideX <= xoff + 57) && (rightSideY == yoff + 3 || rightSideY == yoff - 3))
  406.                         {
  407.                                 Main.tile[rightSideX, rightSideY].active = false;
  408.                         }
  409.                         if ((rightSideX >= xoff + 51 && rightSideX <= xoff + 56) && (rightSideY == yoff + 2 || rightSideY == yoff - 2))
  410.                         {
  411.                                 Main.tile[rightSideX, rightSideY].active = true;
  412.                                 Main.tile[rightSideX, rightSideY].type = 19;
  413.                         }
  414.                         if (rightSideX == xoff + 60 && (rightSideY == yoff - 5 || rightSideY == yoff + 5))
  415.                         {
  416.                                 Main.tile[rightSideX, rightSideY].active = true;
  417.                         }
  418.                         if (rightSideX == xoff + 55 && rightSideY == yoff + 31)
  419.                         {
  420.                                 Main.tile[rightSideX, rightSideY].active = true;
  421.                                 Main.tile[rightSideX, rightSideY].type = 4;
  422.                                 Main.tile[rightSideX, rightSideY].frameX = (short)0;
  423.                                 Main.tile[rightSideX, rightSideY].frameY = (short)176;
  424.                                 //WorldGen.PlaceTile(rightSideX, rightSideY, 4, true, true, -1, 8);
  425.                         }
  426.                 }
  427.         }
  428.         Main.statusText = "Generating Hellcastle: 90%";
  429.         for (int shelfX = xoff - 65; shelfX <= xoff + 65; shelfX++)
  430.         {
  431.                 for (int shelfY = yoff - 37; shelfY <= yoff + 55; shelfY++)
  432.                 {
  433.                         if (((shelfX == xoff - 59 || shelfX == xoff - 60) || (shelfX == xoff + 60 || shelfX == xoff + 59)) && (shelfY == yoff - 10 || shelfY == yoff + 10))
  434.                         {
  435.                                 Main.tile[shelfX, shelfY].active = true;
  436.                                 Main.tile[shelfX, shelfY].type = 19;
  437.                                 Main.tile[shelfX, shelfY - 1].active = true;
  438.                                 Main.tile[shelfX, shelfY - 1].type = 50;
  439.                                 int randomBook = WorldGen.genRand.Next(5);
  440.                                 if (randomBook == 0)
  441.                                 {
  442.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)0;
  443.                                 }
  444.                                 else if (randomBook == 1)
  445.                                 {
  446.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)18;
  447.                                 }
  448.                                 else if (randomBook == 2)
  449.                                 {
  450.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)36;
  451.                                 }
  452.                                 else if (randomBook == 3)
  453.                                 {
  454.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)54;
  455.                                 }
  456.                                 else if (randomBook == 4)
  457.                                 {
  458.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)72;
  459.                                 }
  460.                         }
  461.                         if (((shelfX == xoff - 55 || shelfX == xoff - 56) || (shelfX == xoff + 56 || shelfX == xoff + 55)) && (shelfY == yoff - 20 || shelfY == yoff + 20))
  462.                         {
  463.                                 Main.tile[shelfX, shelfY].active = true;
  464.                                 Main.tile[shelfX, shelfY].type = 19;
  465.                                 Main.tile[shelfX, shelfY - 1].active = true;
  466.                                 Main.tile[shelfX, shelfY - 1].type = 50;
  467.                                 int randomBook2 = WorldGen.genRand.Next(5);
  468.                                 if (randomBook2 == 0)
  469.                                 {
  470.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)0;
  471.                                 }
  472.                                 else if (randomBook2 == 1)
  473.                                 {
  474.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)18;
  475.                                 }
  476.                                 else if (randomBook2 == 2)
  477.                                 {
  478.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)36;
  479.                                 }
  480.                                 else if (randomBook2 == 3)
  481.                                 {
  482.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)54;
  483.                                 }
  484.                                 else if (randomBook2 == 4)
  485.                                 {
  486.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)72;
  487.                                 }
  488.                         }
  489.                         Main.tile[xoff - 44, yoff + 11].active = true;
  490.                         Main.tile[xoff - 44, yoff + 11].type = 19;
  491.                         Main.tile[xoff + 44, yoff + 11].active = true;
  492.                         Main.tile[xoff + 44, yoff + 11].type = 19;
  493.                         if (((shelfX >= xoff - 43 && shelfX <= xoff - 41) || (shelfX >= xoff + 41 && shelfX <= xoff + 43)) && shelfY == yoff + 11)
  494.                         {
  495.                                 Main.tile[shelfX, shelfY].active = true;
  496.                                 Main.tile[shelfX, shelfY].type = 19;
  497.                                 Main.tile[shelfX, shelfY - 1].active = true;
  498.                                 Main.tile[shelfX, shelfY - 1].type = 50;
  499.                                 int randomBook3 = WorldGen.genRand.Next(5);
  500.                                 if (randomBook3 == 0)
  501.                                 {
  502.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)0;
  503.                                 }
  504.                                 else if (randomBook3 == 1)
  505.                                 {
  506.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)18;
  507.                                 }
  508.                                 else if (randomBook3 == 2)
  509.                                 {
  510.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)36;
  511.                                 }
  512.                                 else if (randomBook3 == 3)
  513.                                 {
  514.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)54;
  515.                                 }
  516.                                 else if (randomBook3 == 4)
  517.                                 {
  518.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)72;
  519.                                 }
  520.                         }
  521.                         if (((shelfX >= xoff - 11 && shelfX <= xoff - 10) || (shelfX >= xoff + 9 && shelfX <= xoff + 10)) && shelfY == yoff + 43)
  522.                         {
  523.                                 Main.tile[shelfX, shelfY].active = true;
  524.                                 Main.tile[shelfX, shelfY].type = 19;
  525.                                 Main.tile[shelfX, shelfY - 1].active = true;
  526.                                 Main.tile[shelfX, shelfY - 1].type = 50;
  527.                                 int randomBook4 = WorldGen.genRand.Next(5);
  528.                                 if (randomBook4 == 0)
  529.                                 {
  530.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)0;
  531.                                 }
  532.                                 else if (randomBook4 == 1)
  533.                                 {
  534.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)18;
  535.                                 }
  536.                                 else if (randomBook4 == 2)
  537.                                 {
  538.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)36;
  539.                                 }
  540.                                 else if (randomBook4 == 3)
  541.                                 {
  542.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)54;
  543.                                 }
  544.                                 else if (randomBook4 == 4)
  545.                                 {
  546.                                         Main.tile[shelfX, shelfY - 1].frameX = (short)72;
  547.                                 }
  548.                         }
  549.                 }
  550.         }
  551.         Main.statusText = "Generating Hellcastle: 95%";
  552.         for (int trapX = xoff - 50; trapX <= xoff + 50; trapX++)
  553.         {
  554.                 for (int trapY = yoff - 37; trapY <= yoff + 37; trapY++)
  555.                 {
  556.                         if ((trapX == xoff - 45 || trapX == xoff + 45) && trapY == yoff - 8)
  557.                         {
  558.                                 Main.tile[trapX, trapY].active = true;
  559.                                 if (trapX == xoff - 45)
  560.                                 {
  561.                                         WorldGen.PlaceTile(trapX, trapY, 137, true, true, -1, 1);
  562.                                 }
  563.                                 else WorldGen.PlaceTile(trapX, trapY, 137, true, true, -1, -1);
  564.                         }
  565.                         if (((trapX >= xoff - 44 && trapX <= xoff - 30) || (trapX <= xoff + 44 && trapX >= xoff + 30) || (trapX >= xoff - 12 && trapX <= xoff + 12)) && (trapY == yoff - 7 || trapY == yoff - 6))
  566.                         {
  567.                                 Main.tile[trapX, trapY].active = true;
  568.                                 Main.tile[trapX, trapY].type = brickI;
  569.                                 if ((trapX == xoff - 8 || trapX == xoff + 8) && trapY == yoff - 7)
  570.                                 {
  571.                                         WorldGen.PlaceTile(trapX, trapY, 4, true, true, -1, 8);
  572.                                 }
  573.                         }
  574.                         if (trapX == xoff && trapY == yoff - 8)
  575.                         {
  576.                                 Main.tile[trapX, trapY].active = true;
  577.                                 Main.tile[trapX, trapY].type = 135;
  578.                                 Main.tile[trapX, trapY].frameX = (short)0;
  579.                                 Main.tile[trapX, trapY].frameY = (short)36;
  580.                                 //Main.tile[trapX, trapY + 1].type = 56;
  581.                         }
  582.                         if ((trapX >= xoff - 45 && trapX <= xoff + 45) && trapY == yoff - 8)
  583.                         {
  584.                                 Main.tile[trapX, trapY].wire = true;
  585.                         }
  586.                 }
  587.         }
  588.         Main.statusText = "Generating Hellcastle: 96%";
  589.         for (int lanternX2 = xoff - 65; lanternX2 <= xoff + 65; lanternX2++)
  590.         {
  591.                 for (int lanternY2 = yoff - 32; lanternY2 <= yoff + 55; lanternY2++)
  592.                 {
  593.                         if ((lanternX2 == xoff - 55 || lanternX2 == xoff + 55) && lanternY2 == yoff - 31)
  594.                         {
  595.                                 WorldGen.Place1x2Top(lanternX2, lanternY2, 42);
  596.                         }
  597.                         if ((lanternX2 == xoff - 7 || lanternX2 == xoff + 7) && lanternY2 == yoff + 38)
  598.                         {
  599.                                 WorldGen.Place1x2Top(lanternX2, lanternY2, 42);
  600.                         }
  601.                         if ((lanternX2 == xoff - 7 || lanternX2 == xoff + 7) && lanternY2 == yoff + 50)
  602.                         {
  603.                                 Main.tile[lanternX2, lanternY2].active = true;
  604.                                 Main.tile[lanternX2, lanternY2].type = 4;
  605.                                 Main.tile[lanternX2, lanternY2].frameX = (short)0;
  606.                                 Main.tile[lanternX2, lanternY2].frameY = (short)176;
  607.                         }
  608.                 }
  609.         }
  610.         Main.statusText = "Generating Hellcastle: 97%";
  611.         for (int trap2X = xoff - 17; trap2X <= xoff + 16; trap2X++)
  612.         {
  613.                 for (int trap2Y = yoff + 38; trap2Y <= yoff + 55; trap2Y++)
  614.                 {
  615.                         if ((trap2X == xoff || trap2X == xoff - 1) && trap2Y == yoff + 46)
  616.                         {
  617.                                 Main.tile[trap2X, trap2Y].active = true;
  618.                                 Main.tile[trap2X, trap2Y].type = 135;
  619.                                 Main.tile[trap2X, trap2Y].frameX = (short)0;
  620.                                 Main.tile[trap2X, trap2Y].frameY = (short)36;
  621.                                 //Main.tile[trap2X, trap2Y + 1].type = 56;
  622.                         }
  623.                         if ((trap2X == xoff - 12 || trap2X == xoff + 11) && trap2Y == yoff + 46)
  624.                         {
  625.                                 if (trap2X == xoff - 12)
  626.                                 {
  627.                                         WorldGen.PlaceTile(trap2X, trap2Y, 137, true, true, -1, 1);
  628.                                 }
  629.                                 else WorldGen.PlaceTile(trap2X, trap2Y, 137, true, true, -1, -1);
  630.                         }
  631.                         if ((trap2X >= xoff - 12 && trap2X <= xoff + 11) && trap2Y == yoff + 46)
  632.                         {
  633.                                 Main.tile[trap2X, trap2Y].wire = true;
  634.                         }
  635.                 }
  636.         }
  637.         Main.statusText = "Generating Hellcastle: 98%";
  638.         for (int statueX = xoff - 65; statueX <= xoff + 65; statueX++)
  639.         {
  640.                 for (int statueY = yoff - 37; statueY <= yoff + 55; statueY++)
  641.                 {
  642.                         if ((statueX == xoff - 9 || statueX == xoff + 8) && statueY == yoff + 50)
  643.                         {
  644.                                 WorldGen.PlaceTile(statueX, statueY, 105, true, true, -1, 13);
  645.                         }
  646.                         if ((statueX == xoff - 52 || statueX == xoff + 51) && statueY == yoff - 26)
  647.                         {
  648.                                 WorldGen.PlaceTile(statueX, statueY, 105, true, true, -1, 14);
  649.                         }
  650.                         if ((statueX == xoff - 52 || statueX == xoff + 51) && statueY == yoff + 31)
  651.                         {
  652.                                 WorldGen.PlaceTile(statueX, statueY, 105, true, true, -1, 36);
  653.                         }
  654.                 }
  655.         }
  656.         Main.statusText = "Generating Hellcastle: 99%";
  657.         for (int trap3X = xoff - 65; trap3X <= xoff + 65; trap3X++)
  658.         {
  659.                 for (int trap3Y = yoff - 37; trap3Y <= yoff - 10; trap3Y++)
  660.                 {
  661.                         if ((trap3X == xoff - 54 || trap3X == xoff + 54) && trap3Y == yoff - 26)
  662.                         {
  663.                                 Main.tile[trap3X, trap3Y].active = true;
  664.                                 Main.tile[trap3X, trap3Y].type = 135;
  665.                                 Main.tile[trap3X, trap3Y].frameX = (short)0;
  666.                                 Main.tile[trap3X, trap3Y].frameY = (short)36;
  667.                                 //Main.tile[trap3X, trap3Y + 1].type = 56;
  668.                         }
  669.                         if ((trap3X == xoff - 60 || trap3X == xoff + 60) && trap3Y == yoff - 26)
  670.                         {
  671.                                 if (trap3X == xoff - 60)
  672.                                 {
  673.                                         WorldGen.PlaceTile(trap3X, trap3Y, 137, true, true, -1, 1);
  674.                                 }
  675.                                 else WorldGen.PlaceTile(trap3X, trap3Y, 137, true, true, -1, -1);
  676.                         }
  677.                         if (((trap3X >= xoff - 60 && trap3X <= xoff - 54) || (trap3X >= xoff + 54 && trap3X <= xoff + 60)) && trap3Y == yoff - 26)
  678.                         {
  679.                                 Main.tile[trap3X, trap3Y].wire = true;
  680.                         }
  681.                 }
  682.         }
  683.         Main.statusText = "Generating Hellcastle: 100%";
  684.         Main.tile[xoff - 44, yoff - 12].active = true;
  685.         Main.tile[xoff - 44, yoff - 12].type = 4;
  686.         Main.tile[xoff - 44, yoff - 12].frameX = (short)24;
  687.         Main.tile[xoff - 44, yoff - 12].frameY = (short)176;
  688.         Main.tile[xoff + 44, yoff - 12].active = true;
  689.         Main.tile[xoff + 44, yoff - 12].type = 4;
  690.         Main.tile[xoff + 44, yoff - 12].frameX = (short)44;
  691.         Main.tile[xoff + 44, yoff - 12].frameY = (short)176;
  692.         Main.tile[xoff - 62, yoff + 1].active = true;
  693.         Main.tile[xoff - 62, yoff + 1].type = 4;
  694.         Main.tile[xoff - 62, yoff + 1].frameX = (short)0;
  695.         Main.tile[xoff - 62, yoff + 1].frameY = (short)176;
  696.         Main.tile[xoff + 62, yoff + 1].active = true;
  697.         Main.tile[xoff + 62, yoff + 1].type = 4;
  698.         Main.tile[xoff + 62, yoff + 1].frameX = (short)0;
  699.         Main.tile[xoff + 62, yoff + 1].frameY = (short)176;
  700. }