Ejemplo n.º 1
0
	def chat(self, message):
		if self.mode is not ClientMode.Server:
			raise network.NotInServerMode("We are not connected to any server")
		if self.game is None:
			raise network.NotInGameLobby("We are not in a game lobby")
		self.log.debug("[CHAT] %s" % (message))
		self.send(packets.client.cmd_chatmsg(message))
		return True
Ejemplo n.º 2
0
	def leavegame(self):
		if self.mode is not ClientMode.Server:
			raise network.NotInServerMode("We are not connected to any server")
		if self.game is None:
			raise network.NotInGameLobby("We are not in a game lobby")
		self.log.debug("[LEAVE]")
		self.send(packets.client.cmd_leavegame())
		packet = self.recv_packet([packets.cmd_error, packets.cmd_ok])
		if packet is None:
			raise network.CommandError("No reply from server")
		elif isinstance(packet[1], packets.cmd_error):
			raise network.CommandError(packet[1].errorstr)
		elif not isinstance(packet[1], packets.cmd_ok):
			raise network.CommandError("Unexpected packet")
		self.game = None
		return True
Ejemplo n.º 3
0
	def leavegame(self, stealth=False):
		if self.mode is None:
			raise network.NotConnected()
		if self.mode is not ClientMode.Server:
			raise network.NotInServerMode("We are not in server mode")
		if self.game is None:
			raise network.NotInGameLobby("We are not in a game lobby")
		self.log.debug("[LEAVE]")
		if stealth:
			self.game = None
			return
		self.send(packets.client.cmd_leavegame())
		packet = self.recv_packet([packets.cmd_ok])
		if packet is None:
			raise network.FatalError("No reply from server")
		elif not isinstance(packet[1], packets.cmd_ok):
			raise network.CommandError("Unexpected packet")
		self.game = None
		return True
Ejemplo n.º 4
0
 def _assert_lobby(self):
     if self._game is None:
         raise network.NotInGameLobby("We are not in a game lobby")