From 113a1b3d265a53a736f81009d8540013bbb40b08 Mon Sep 17 00:00:00 2001 From: Twitchy Date: Sat, 6 Aug 2011 13:45:38 +1200 Subject: [PATCH] 3.2 HOTFIX - Fixes Bed Bug --- TShockAPI/TSPlayer.cs | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/TShockAPI/TSPlayer.cs b/TShockAPI/TSPlayer.cs index 076df988..33cf3bbe 100644 --- a/TShockAPI/TSPlayer.cs +++ b/TShockAPI/TSPlayer.cs @@ -200,7 +200,35 @@ namespace TShockAPI return false; } - Spawn(); + if (TPlayer.SpawnX > 0 && TPlayer.SpawnY > 0) + { + int spX = TPlayer.SpawnX; + int spY = TPlayer.SpawnY; + Main.tile[spX, spY].active = false; + SendTileSquare(spX, spY); + Spawn(); + Main.tile[spX, spY].active = true; + SendTileSquare(spX, spY); + oldSpawn = new Vector2(spX, spY); + } + else + { + //Checks if Player has spawn point set (Server may think player does not have spawn) + if (oldSpawn != Vector2.Zero) + { + Main.tile[(int)oldSpawn.X, (int)oldSpawn.Y].active = false; + SendTileSquare((int)oldSpawn.X, (int)oldSpawn.Y); + Spawn(); + Main.tile[(int)oldSpawn.X, (int)oldSpawn.Y].active = true; + SendTileSquare((int)oldSpawn.X, (int)oldSpawn.Y); + NetMessage.syncPlayers(); + } + //Player has no spawn point set + else + { + Spawn(); + } + } SendTeleport(Main.spawnTileX, Main.spawnTileY);