anchor.diff:  	User = egs_db:users_select(GID),
   	file:write_file(io_lib:format("save/~s/~b-character.options", [User#users.folder, User#users.charnumber]), Options);
   
  -%% @doc Lobby event handler. Do nothing for now.
  +%% @doc Lobby event handler. Handle chairs!
   %%      Apparently used for elevator, sit on chairs, and more?
  -
  -handle(16#0f0a, _, GID, _, _) ->
  -	log(GID, "lobby event");
  +%% @todo Handle more than sit on chair. Handle sit on chair correctly.
  +
  +handle(16#0f0a, CSocket, GID, _, Orig) ->
  +	<< _:448, A:32/little-unsigned-integer, _:64, B:32/little-unsigned-integer, _/bits >> = Orig,
  +	Packet = << 16#1211:16, 0:176, 16#00011300:32, GID:32/little-unsigned-integer, 0:64, A:32/little-unsigned-integer, B:32/little-unsigned-integer, 8:32/little-unsigned-integer, 0:32 >>,
  +	egs_proto:packet_send(CSocket, Packet),
  +	log(GID, "lobby event (can only chair so far)");
   
   %% @doc Unknown command handler. Do nothing.
   
  
positive.code: %% @doc Game's main loop.
  %% @todo Have some kind of clock process for keepalive packets.
  %% @todo Handle 0102 and 0503 broadcasts correctly.
  
  loop(CSocket, GID, Version, SoFar) ->
  	receive
  
negative.code: 	<< _:32, Data/bits >> = Packet,
  	lists:foreach(fun(User) -> User#users.pid ! {psu_broadcast_0102, Data} end, egs_db:users_select_others(GID));
  
  %% @doc Sit on chairs animation handler. Broadcast to all other players.
  
  handle(16#0107, _, GID, _, Packet) ->
  	<< _:32, Data/bits >> = Packet,
  	lists:foreach(fun(User) -> User#users.pid ! {psu_broadcast_0107, Data} end, egs_db:users_select_others(GID));
  
  %% @doc Lobby actions handler. Broadcast to all other players.
  
  handle(16#010f, _, GID, _, Packet) ->
  