
GetReputations()
****************


FUNKTION
========

   public mapping GetReputations()


DEFINIERT IN
============

   /std/player/reputation.c


BESCHREIBUNG
============

   Liefert ein Mapping aller im Spieler gespeicherten Reputationen und ihrer
   Werte zurueck.


RUeCKGABEWERT
=============

   Mapping ([(string)repid: (int)wert])


BEISPIELE
=========

   s. repuation


SIEHE AUCH
==========

   reputation
   GetReputation(), GetReputations()


ZULETZT GEAeNDERT
=================

06.04.2009, Zesstra
