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

◆ FillRooms()

void Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.FillRooms ( )
inlineprivateinherited

Definition at line 110 of file HouseBuilder.cs.

111 {
112 int x = 14;
113 if (UsesTables2)
114 {
115 x = 469;
116 }
117 Point[] choices = new Point[7]
118 {
119 new Point(x, TableStyle),
120 new Point(16, 0),
121 new Point(18, WorkbenchStyle),
122 new Point(86, 0),
123 new Point(87, PianoStyle),
124 new Point(94, 0),
125 new Point(101, BookcaseStyle)
126 };
127 foreach (Rectangle room in Rooms)
128 {
129 int num = room.Width / 8;
130 int num2 = room.Width / (num + 1);
131 int num3 = _random.Next(2);
132 for (int i = 0; i < num; i++)
133 {
134 int num4 = (i + 1) * num2 + room.X;
135 switch (i + num3 % 2)
136 {
137 case 0:
138 {
139 int num5 = room.Y + Math.Min(room.Height / 2, room.Height - 5);
140 PaintingEntry paintingEntry = ((Type == HouseType.Desert) ? WorldGen.RandHousePictureDesert() : WorldGen.RandHousePicture());
141 WorldGen.PlaceTile(num4, num5, paintingEntry.tileType, mute: true, forced: false, -1, paintingEntry.style);
142 break;
143 }
144 case 1:
145 {
146 int num5 = room.Y + 1;
147 WorldGen.PlaceTile(num4, num5, 34, mute: true, forced: false, -1, _random.Next(6));
148 for (int j = -1; j < 2; j++)
149 {
150 for (int k = 0; k < 3; k++)
151 {
152 _tiles[j + num4, k + num5].frameX += 54;
153 }
154 }
155 break;
156 }
157 }
158 }
159 int num6 = room.Width / 8 + 3;
160 WorldGen.SetupStatueList();
161 while (num6 > 0)
162 {
163 int num7 = _random.Next(room.Width - 3) + 1 + room.X;
164 int num8 = room.Y + room.Height - 2;
165 switch (_random.Next(4))
166 {
167 case 0:
168 WorldGen.PlaceSmallPile(num7, num8, _random.Next(31, 34), 1, 185);
169 break;
170 case 1:
171 WorldGen.PlaceTile(num7, num8, 186, mute: true, forced: false, -1, _random.Next(22, 26));
172 break;
173 case 2:
174 {
175 int num9 = _random.Next(2, GenVars.statueList.Length);
176 WorldGen.PlaceTile(num7, num8, GenVars.statueList[num9].X, mute: true, forced: false, -1, GenVars.statueList[num9].Y);
177 if (GenVars.StatuesWithTraps.Contains(num9))
178 {
179 WorldGen.PlaceStatueTrap(num7, num8);
180 }
181 break;
182 }
183 case 3:
184 {
185 Point point = Utils.SelectRandom(_random, choices);
186 WorldGen.PlaceTile(num7, num8, point.X, mute: true, forced: false, -1, point.Y);
187 break;
188 }
189 }
190 num6--;
191 }
192 }
193 }
static byte Min(byte val1, byte val2)
Definition Math.cs:912
short frameX
Definition Tile.cs:22
static List< int > StatuesWithTraps
Definition GenVars.cs:306
static Point16[] statueList
Definition GenVars.cs:304

References Terraria.GameContent.Biomes.CaveHouse.HouseBuilder._random, Terraria.GameContent.Biomes.CaveHouse.HouseBuilder._tiles, Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.BookcaseStyle, Terraria.Tile.frameX, System.Math.Min(), Terraria.Utilities.UnifiedRandom.Next(), Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.PianoStyle, Terraria.WorldGen.PlaceSmallPile(), Terraria.WorldGen.PlaceStatueTrap(), Terraria.WorldGen.PlaceTile(), Terraria.WorldGen.RandHousePicture(), Terraria.WorldGen.RandHousePictureDesert(), Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.Rooms, Terraria.WorldGen.SetupStatueList(), Terraria.WorldBuilding.GenVars.statueList, Terraria.WorldBuilding.GenVars.StatuesWithTraps, Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.TableStyle, Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.UsesTables2, Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.WorkbenchStyle, Microsoft.Xna.Framework.Point.X, and Microsoft.Xna.Framework.Point.Y.

Referenced by Terraria.GameContent.Biomes.CaveHouse.HouseBuilder.Place().