@Override
	public void attack(ArrayList<Player> players, boolean server) {
		ArrayList<Player> attackedPlayers = players;
		for (Player p : attackedPlayers) {
			p.setHealth(p.getHealth() + (Math.random() * -10) + p.getInHand().getDefense() - getDamage());
			if (p.getHealth() <= 0) {
				if (!p.getName().equalsIgnoreCase(getPlayer().getName())) {
					getPlayer().setKills(getPlayer().getKills() + 1);
				}
				p.setDeaths(p.getDeaths() + 1);
				if (server) {
					Packet06Kill packet = new Packet06Kill(getPlayer().getName(), p.getName());
					packet.writeData(getPlayer().getGame().getSocketServer());
					if (getPlayer().getGame() instanceof GameDeathmatchMP
							&& getPlayer().getGame().getSocketClient() == null
							&& (((GameDeathmatchMP) getPlayer().getGame()).getFirstPlaceName() == null || getPlayer()
									.getKills() > ((GameDeathmatchMP) getPlayer().getGame()).getFirstPlaceKills())) {
						((GameDeathmatchMP) getPlayer().getGame()).setFirstPlaceKills(getPlayer().getKills());
						((GameDeathmatchMP) getPlayer().getGame()).setFirstPlaceName(getPlayer().getName());
					}
				}
			}
		}
	}