public override void update() { Player _player = Server.clients[owner].player; if (!dashed) { rotation = _player.rotation; _player.addVelocity(forward() * (.9f + (0.1f * rank))); dashed = true; } for (int i = 1; i <= Server.clients.Count; i++) { try { Vector3 playerPos = Server.clients[i].player.position; Player _playerOthers = Server.clients[i].player; if (playerPos != null) { Vector3 distance = playerPos - _player.position; distance.Y = 0; if (distance.Length() <= 2f && owner != Server.clients[i].player.id) { Vector3 normDistance = this.normalize(distance); _playerOthers.addVelocity(normDistance * ((0.2f * (rank - 1)) + .5f)); _playerOthers.dmg(10 * rank); _player.setVelocity(new Vector3(0, 0, 0)); addToCleanup = true; } } } catch { } } if (addToCleanup || _player.getVelocity().Length() < 0.2) { Server.cleanUp.Add(this); } }