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

◆ Teleport()

void Terraria.Player.Teleport ( Vector2 newPos,
int Style = 0,
int extraInfo = 0 )
inline

Definition at line 35567 of file Player.cs.

35568 {
35569 try
35570 {
35573 if (Style != 10)
35574 {
35576 }
35578 if (shimmering || shimmerWet)
35579 {
35580 shimmering = false;
35581 shimmerWet = false;
35582 wet = false;
35583 ClearBuff(353);
35584 }
35585 int extraInfo2 = 0;
35586 if (Style == 4)
35587 {
35589 }
35590 if (Style == 9)
35591 {
35594 }
35595 float num = MathHelper.Clamp(1f - teleportTime * 0.99f, 0.01f, 1f);
35597 Main.TeleportEffect(getRect(), Style, extraInfo2, num, TeleportationSide.Entry, newPos);
35600 position = newPos;
35601 if (Style == 8)
35602 {
35605 }
35606 fallStart = (int)(position.Y / 16f);
35607 if (whoAmI == Main.myPlayer)
35608 {
35609 bool flag = false;
35610 if (num2 < new Vector2(Main.screenWidth, Main.screenHeight).Length() / 2f + 100f)
35611 {
35612 int time = 0;
35613 if (Style == 1)
35614 {
35615 time = 10;
35616 }
35617 Main.SetCameraLerp(0.1f, time);
35618 flag = true;
35619 }
35620 else
35621 {
35622 NPC.ResetNetOffsets();
35623 Main.BlackFadeIn = 255;
35624 Lighting.Clear();
35625 Main.screenLastPosition = Main.screenPosition;
35626 Main.screenPosition.X = position.X + (float)(width / 2) - (float)(Main.screenWidth / 2);
35627 Main.screenPosition.Y = position.Y + (float)(height / 2) - (float)(Main.screenHeight / 2);
35628 Main.instantBGTransitionCounter = 10;
35630 }
35631 if (num > 0.1f || !flag || Style != 0)
35632 {
35633 if (Main.mapTime < 5)
35634 {
35635 Main.mapTime = 5;
35636 }
35637 Main.maxQ = true;
35638 Main.renderNow = true;
35639 }
35640 }
35641 if (Style == 4)
35642 {
35645 portalPhysicsFlag = true;
35646 gravity = 0f;
35647 }
35650 for (int i = 0; i < 3; i++)
35651 {
35653 }
35655 Main.TeleportEffect(getRect(), Style, extraInfo2, num, TeleportationSide.Exit, otherPosition);
35656 teleportTime = 1f;
35657 teleportStyle = Style;
35658 }
35659 catch
35660 {
35661 }
35662 }
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:46
static void PlaySound(int type, Vector2 position, int style=1)
Vector2 oldPosition
Definition Entity.cs:18
bool shimmerWet
Definition Entity.cs:32
Vector2 position
Definition Entity.cs:14
static void UpdatePlayerPosition(Player player)
static readonly LegacySoundStyle Item6
Definition SoundID.cs:426
int lastPortalColorIndex
Definition Player.cs:2549
int environmentBuffImmunityTimer
Definition Player.cs:1043
int teleportStyle
Definition Player.cs:779
int lastTeleportPylonStyleUsed
Definition Player.cs:2555
int _funkytownAchievementCheckCooldown
Definition Player.cs:2593
void RemoveAllGrapplingHooks()
Definition Player.cs:31290
void ForceUpdateBiomes()
Definition Player.cs:16028
Rectangle getRect()
Definition Player.cs:40162
bool portalPhysicsFlag
Definition Player.cs:2553
void StopVanityActions(bool multiplayerBroadcast=true)
Definition Player.cs:31204
float teleportTime
Definition Player.cs:777
void UpdateSocialShadow()
Definition Player.cs:15909
Vector2 BlehOldPositionFixer
Definition Player.cs:2752
void ResetAdvancedShadows()
Definition Player.cs:3702
void ClearBuff(int type)
Definition Player.cs:4623
static float Distance(Vector2 value1, Vector2 value2)
Definition Vector2.cs:91

References Microsoft.Xna.Framework.MathHelper.Clamp(), Terraria.Lighting.Clear(), Microsoft.Xna.Framework.Vector2.Distance(), Terraria.ID.SoundID.Item6, Microsoft.Xna.Framework.Vector2.Length(), Terraria.Main.mapTime, Terraria.Main.myPlayer, Terraria.Audio.SoundEngine.PlaySound(), Terraria.NPC.ResetNetOffsets(), Terraria.Main.screenHeight, Terraria.Main.screenPosition, Terraria.Main.screenWidth, Terraria.Main.SetCameraLerp(), Terraria.Main.TeleportEffect(), and Terraria.GameContent.PressurePlateHelper.UpdatePlayerPosition().

Referenced by Terraria.GameContent.TeleportPylonsSystem.HandleTeleportRequest(), and Terraria.GameContent.PortalHelper.TryGoingThroughPortals().