266 {
267 if (Main.netMode != 2 && Main.DroneCameraTracker != null && Main.DroneCameraTracker.IsInUse())
268 {
269 return false;
270 }
271 switch (
info.TypeOfPylon)
272 {
273 case TeleportPylonType.SurfacePurity:
274 {
275 bool flag = (double)
info.PositionInTiles.Y <= Main.worldSurface;
276 if (Main.remixWorld)
277 {
278 flag = (double)
info.PositionInTiles.Y > Main.rockLayer &&
info.PositionInTiles.Y < Main.maxTilesY - 350;
279 }
280 bool flag2 = info.PositionInTiles.X >= Main.maxTilesX - 380 || info.PositionInTiles.X <= 380;
282 {
283 return false;
284 }
286 {
287 return false;
288 }
289 return true;
290 }
291 case TeleportPylonType.Jungle:
293 case TeleportPylonType.Snow:
295 case TeleportPylonType.Desert:
297 case TeleportPylonType.Beach:
298 {
299 bool flag3 = (double)
info.PositionInTiles.Y <= Main.worldSurface && (
double)info.PositionInTiles.Y > Main.worldSurface * 0.3499999940395355;
300 bool flag4 = info.PositionInTiles.X >= Main.maxTilesX - 380 || info.PositionInTiles.X <= 380;
301 if (Main.remixWorld)
302 {
303 flag3 |= (double)
info.PositionInTiles.Y > Main.rockLayer &&
info.PositionInTiles.Y < Main.maxTilesY - 350;
304 flag4 |= (double)
info.PositionInTiles.X < (
double)Main.maxTilesX * 0.43 || (double)
info.PositionInTiles.X > (
double)Main.maxTilesX * 0.57;
305 }
307 }
308 case TeleportPylonType.GlowingMushroom:
309 if (Main.remixWorld &&
info.PositionInTiles.Y >= Main.maxTilesY - 200)
310 {
311 return false;
312 }
314 case TeleportPylonType.Hallow:
316 case TeleportPylonType.Underground:
317 return (double)info.PositionInTiles.Y >= Main.worldSurface;
318 case TeleportPylonType.Victory:
319 return true;
320 default:
321 return true;
322 }
323 }
SceneMetrics _sceneMetrics
bool EnoughTilesForCrimson
bool EnoughTilesForGlowingMushroom
bool EnoughTilesForDesert
bool EnoughTilesForHallow
bool EnoughTilesForCorruption
bool EnoughTilesForJungle