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

◆ DoesPylonAcceptTeleportation()

bool Terraria.GameContent.TeleportPylonsSystem.DoesPylonAcceptTeleportation ( TeleportPylonInfo info,
Player player )
inlineprivate

Definition at line 265 of file TeleportPylonsSystem.cs.

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;
281 if (!flag || flag2)
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 }
306 return flag4 && flag3;
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 }

References Terraria.GameContent.TeleportPylonsSystem._sceneMetrics, Terraria.Main.DroneCameraTracker, Terraria.SceneMetrics.EnoughTilesForCorruption, Terraria.SceneMetrics.EnoughTilesForCrimson, Terraria.SceneMetrics.EnoughTilesForDesert, Terraria.SceneMetrics.EnoughTilesForGlowingMushroom, Terraria.SceneMetrics.EnoughTilesForHallow, Terraria.SceneMetrics.EnoughTilesForJungle, Terraria.SceneMetrics.EnoughTilesForSnow, Terraria.Main.maxTilesY, Terraria.Main.netMode, Terraria.Main.remixWorld, Terraria.Main.rockLayer, and Terraria.Main.worldSurface.

Referenced by Terraria.GameContent.TeleportPylonsSystem.HandleTeleportRequest().