public void GhostEnterBody() { PlayerScript body = playerScript.mind.body; if (playerScript.mind.IsSpectator) { return; } if (!playerScript.IsGhost) { Logger.LogWarningFormat("Either player {0} is not dead or not currently a ghost, ignoring EnterBody", Category.Health, body); return; } //body might be in a container, reentering should still be allowed in that case if (body.pushPull.parentContainer == null && body.WorldPos == TransformState.HiddenPos) { Logger.LogFormat("There's nothing left of {0}'s body, not entering it", Category.Health, body); return; } playerScript.mind.StopGhosting(); PlayerSpawn.ServerGhostReenterBody(connectionToClient, gameObject, playerScript.mind); return; }
public void CmdGhostEnterBody() { PlayerScript body = playerScript.mind.body; if (!playerScript.IsGhost || !body.playerHealth.IsDead) { Logger.LogWarningFormat("Either player {0} is not dead or not currently a ghost, ignoring EnterBody", Category.Health, body); return; } if (body.WorldPos == TransformState.HiddenPos) { Logger.LogFormat("There's nothing left of {0}'s body, not entering it", Category.Health, body); return; } playerScript.mind.StopGhosting(); PlayerSpawn.ServerGhostReenterBody(connectionToClient, gameObject, playerScript.mind); }