SYNOPSIS:
  varargs void wizlist(string name, int sortkey ) 	

DESCRIPTION:
  wizlist() liefert eine Liste mit verschiedenen Verbrauchsdaten 
	zu Magiern. Es werden dabei normalerweise 21 Eintraege ausgegeben:
  10 vor <name>, <name> selbst und 10 nach <name>.

  Die Liste ist dabei folgendermassen aufgebaut:

	1. WL_NAME
	   Gesammelt werden die Daten pro UID. Hierbei zaehlt aber jede EUID, nicht
     nur die von Magiern.
     Das heisst, Objekte unter /d/polar/vanion/eispalast
	   werden nicht unter "vanion" sondern unter "d.polar.vanion"
	   abgerechnet.

	2. WL_COMMANDS
     Anzahl der diesem Objekt zugeordneten commands.

	3. WL_COMMANDS * 100 / total_cmd 
     Prozentualer Anteil an den gesamt verbrauchten commands.

	4. WL_COST (links in der eckigen Klammer)
     Anzahl der verbrauchten eval ticks. Dies ist zeitlich gewichtet, d.h.
     nimmt im Lauf der Zeit ab, wenn nichts mehr dazu kommt.

  5. WL_TOTAL_GIGACOST (rechts in der eckigen Klammer)
     Anzahl der insgesamt verbrauchten eval ticks in Giga-Ticks.
     Nicht zeitlich gewichtet.

	6. WL_HEART_BEATS
     Anzahl der ausgeloesten heart beats.
  
  7. WL_ARRAY_TOTAL

  8. WL_MAPPING_TOTAL

PARAMETERS: 
  Wird name angegeben, wird erzwungen, dass die erwaehnte EUID mit
  in der Liste dargestellt wird. Wird name nicht angegeben, wird es
  automatisch auf this_player()->query_real_name() gesetzt.

  Wird als name "TOP100" angegeben, wird die Top-100-Liste ausgegeben.

  Wird als name "ALL" angegeben, wird die vollstaendige Liste aus-
  gegeben.

  Durch Angabe von sortkey kann die Liste nach einer der Spalten 
  sortiert werden. Gueltige Werte sind die in /sys/wizlist.h ange-
  gebenen Defines.
	
EXAMPLE: 
  > xeval wizlist("vanion", WL_HEART_BEATS)
      Erzwingt Vanions Eintrag in der Liste und sortiert die Liste anhand
      der durch die EUIDs ausgefuehrten heart beats.

  > xeval wizlist("ALL", WL_EVAL_COST)
      Zeigt die komplette Liste nach eval ticks-Verbauch sortiert an.

SEE ALSO:
      wizlist_info(E)

LAST UPDATED:
  09.05.2015, Zesstra

