gameServer/HWProtoInRoomState.hs
changeset 1814 e5391d901cff
parent 1813 cfe1481e0247
child 1815 3d62cf9c350e
--- a/gameServer/HWProtoInRoomState.hs	Fri Feb 20 19:40:55 2009 +0000
+++ b/gameServer/HWProtoInRoomState.hs	Fri Feb 20 19:46:22 2009 +0000
@@ -19,13 +19,17 @@
 		clientNick = nick $ clients IntMap.! clID
 
 
-handleCmd_inRoom clID clients _ ["PART"] =
+handleCmd_inRoom clID clients rooms ["PART"] =
 	if isMaster client then
 		[RemoveRoom]
 	else
-		[RoomRemoveThisClient]
+		RoomRemoveThisClient
+		: removeClientTeams
 	where
 		client = clients IntMap.! clID
+		room = rooms IntMap.! (roomID client)
+		clientTeams = filter (\t -> teamowner t == nick client) $ teams room
+		removeClientTeams = map (RemoveTeam . teamname) clientTeams
 
 
 handleCmd_inRoom clID clients rooms ("CFG" : paramName : paramStrs) =
@@ -37,7 +41,6 @@
 	where
 		client = clients IntMap.! clID
 
-
 handleCmd_inRoom clID clients rooms ("ADD_TEAM" : name : color : grave : fort : voicepack : difStr : hhsInfo)
 	| length hhsInfo == 16 =
 	if length (teams room) == 6 then