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

◆ MakeDungeon_Banners()

static double Terraria.WorldGen.MakeDungeon_Banners ( int[] roomWall,
double count )
inlinestaticprivate

Definition at line 27861 of file WorldGen.cs.

27862 {
27863 count = 840000.0 / (double)Main.maxTilesX;
27864 for (int i = 0; (double)i < count; i++)
27865 {
27866 int num = genRand.Next(GenVars.dMinX, GenVars.dMaxX);
27867 int num2 = genRand.Next(GenVars.dMinY, GenVars.dMaxY);
27868 while (!Main.wallDungeon[Main.tile[num, num2].wall] || Main.tile[num, num2].active())
27869 {
27870 num = genRand.Next(GenVars.dMinX, GenVars.dMaxX);
27872 }
27873 while (!SolidTile(num, num2) && num2 > 10)
27874 {
27875 num2--;
27876 }
27877 num2++;
27878 if (!Main.wallDungeon[Main.tile[num, num2].wall] || Main.tile[num, num2 - 1].type == 48 || Main.tile[num, num2].active() || Main.tile[num, num2 + 1].active() || Main.tile[num, num2 + 2].active() || Main.tile[num, num2 + 3].active())
27879 {
27880 continue;
27881 }
27882 bool flag = true;
27883 for (int j = num - 1; j <= num + 1; j++)
27884 {
27885 for (int k = num2; k <= num2 + 3; k++)
27886 {
27887 if (Main.tile[j, k].active() && (Main.tile[j, k].type == 10 || Main.tile[j, k].type == 11 || Main.tile[j, k].type == 91))
27888 {
27889 flag = false;
27890 }
27891 }
27892 }
27893 if (flag)
27894 {
27895 int num3 = 10;
27896 if (Main.tile[num, num2].wall == roomWall[1])
27897 {
27898 num3 = 12;
27899 }
27900 if (Main.tile[num, num2].wall == roomWall[2])
27901 {
27902 num3 = 14;
27903 }
27904 num3 += genRand.Next(2);
27905 PlaceTile(num, num2, 91, mute: true, forced: false, -1, num3);
27906 }
27907 }
27908 return count;
27909 }
static bool PlaceTile(int i, int j, int Type, bool mute=false, bool forced=false, int plr=-1, int style=0)
static UnifiedRandom genRand
Definition WorldGen.cs:1215

References System.count, Terraria.WorldBuilding.GenVars.dMaxX, Terraria.WorldBuilding.GenVars.dMaxY, Terraria.WorldBuilding.GenVars.dMinX, Terraria.WorldBuilding.GenVars.dMinY, Terraria.Main.maxTilesX, Terraria.Enums.SolidTile, Terraria.Main.tile, and Terraria.Main.wallDungeon.