private void AttackSword() { int leftX = FacingLeft ? BoundBox.Left - 15 : BoundBox.Right; ShapeAABB bound = new ShapeAABB(new Rectangle(leftX, (int)BoundBox.Top + 5, 15, PlayerHeight - 6)); List<Vector2> newTiles = RectangleHitsTiles(bound); foreach (Vector2 v in newTiles) { BlockData block = GameServer.GetBlockAt(v.X, v.Y); if (block.ID != 0) { ShapeAABB bound2 = new ShapeAABB(block.Block.GetBlockBoundBox((int)v.X, (int)v.Y)); if (bound2.Intersects(bound)) { GameServer.HurtBlock((int)v.X, (int)v.Y, 2); } } } foreach (NetworkPlayer player in GameServer.NetworkPlayers) { if (player == this) continue; if (player.PlayerTeam == PlayerTeam) continue; if (player.BoundBox.Intersects(bound) || player.BoundBox.Contains(bound) || bound.Contains(player.BoundBox)) { player.HurtPlayer(1); player.EntityVelocity.Y = -4; player.EntityVelocity.X = FacingLeft ? -5 : 5; } } }