anchor.diff:  %% @todo 3rd Unsafe Passage C, EventID 10 BlockID 2 = mission cleared?
   raw(16#0404, << _:352, Data/bits >>, Client) ->
   	<< EventID:8, BlockID:8, _:16, Value:8, _/bits >> = Data,
  -	log("unknown command 0404: eventid ~b blockid ~b value ~b", [EventID, BlockID, Value]),
  +	io:format("~p: unknown command 0404: eventid ~b blockid ~b value ~b~n", [Client#client.gid, EventID, BlockID, Value]),
   	psu_proto:send_1205(EventID, BlockID, Value, Client);
   
   %% @todo Used in the tutorial. Not sure what it does. Give an item (the PA) maybe?
  
positive.code: %% @todo Probably validate the From* values, to not send the player back inside a mission.
  %% @todo Handle the LID change when entering counters.
  event({counter_enter, CounterID, FromZoneID, FromMapID, FromEntryID}, Client=#client{gid=GID}) ->
  	log("counter load ~b", [CounterID]),
  	{ok, OldUser} = egs_users:read(GID),
  	FromArea = {element(1, OldUser#users.area), FromZoneID, FromMapID},
  	egs_zones:leave(OldUser#users.zonepid, OldUser#users.gid),
  
negative.code: 
  %% @todo Forward the mission start to other players of the same party, whatever their location is.
  event({mission_start, QuestID}, Client) ->
  	io:format("~p: mission start ~b~n", [Client#client.gid, QuestID]),
  	psu_proto:send_1020(Client),
  	psu_proto:send_1015(QuestID, Client),
  	psu_proto:send_0c02(Client);
  