Erzmagier
=========

ERZMAGIER:
  Der Einflussbereich der Erzmagier beschraenkt sich nicht nur auf Bereiche
  innerhalb des Spiels, sondern auch auf Bereiche ausserhalb. Sie koennen
  Aenderungen an der Basis-MudLib vornehmen und damit die Rahmenbedingungen
  des Spiels aendern oder ergaenzen. Ausserdem sind sie die richtigen
  Ansprechpartner, wenn man sein Passwort vergessen hat, oder wenn durch
  einen Absturz des Rechners das Savefile eines Spielers kaputt gegangen
  ist.

  Die MudGoetter Jof, Rumata und Zook sind dabei die hoechsten Instanzen;
  Jof macht sich allerdings in letzter Zeit etwas rar.

Die Aufgabenbereiche der Erzmagier sind wie folgt verteilt:

      Administration und Hosting des Servers:
        Chagall, Deaddy, Rumata, Zesstra, Zook       

      Balance (und Erstkill-Stupse):
        Fuer die Gilden-, Rassen- und Heilungsbalance ist Humni
        zustaendig. Er wird fuer die Objekte vom Balance-Team
        aus Spielern unterstuetzt.

        Die Vergabe von Erstkill-Stupsen und damit verbunden die
        NPC-Balance hat Arathorn uebernommen.

      Driver
        Die Driver-Entwicklung wird von Zesstra (gemeinsam mit
        anderen Muds) betreut. 

      Forscherpunkte / Zaubertraenke:
        Zook verwaltet die Forscherpunkte und Zaubertraenke.

      Jungmagier / Gesellenstuecke:
        Zook betreut neue Magier gemeinsam mit ihrem Sponsor bei
        ihren ersten Schritten und nimmt ihr Gesellenstueck ab. 

      Mudgoetter / Maedchen fuer alles:
        Jof, Rumata, Zook 

      Mudlib:
        Fuer die Weiterentwicklungen, Korrekturen der Mudlib sind
        Arathorn und Zesstra verantwortlich. 

      Quests und Miniquests:
        Neue Abenteuer und Miniquests werden von Zook getestet,
        bevor sie auf Spieler los gelassen werden. Er vergibt
        auch die dafuer vergebenen Punkte. 

      Regionen:
        Fuer die Regionen und die Ernennung und Abberufung von
        Regionsmagiern ist Zook zustaendig. 

      Sheriff:
        Die Einhaltung der Regeln ueberwacht uebergangsweise Zook. 

Verantwortlich sind unsere Erzmagier daher jeweils fuer:

      Arathorn:
        Erstkill-Stupse, NPC-Balance, Mudlib
      Chagall:
        Server, Infrastruktur
      Deaddy:
        Server, Infrastruktur
      Humni:
        Gilden-, Rassen, Heilungsbalance, Balance-Team
      Jof:
        Maedchen fuer alles
      Rumata:
        Maedchen fuer alles
      Zesstra:
        Driver, Mudlib, Rechneradministration
      Zook:
        Forscherpunkte, Zaubertraenke, Quests und Miniquests,
        Regionen, Jungmagier und ihre Gesellenstuecke,
        Rechneradministration

Sollte es Verzoegerungen bei Euren Anliegen geben, schreibt
entweder erneut an das Mail-Alias "erzmagier" oder an Zook.

SIEHE AUCH:
        ebenen, regionen, goetter
        balance

LETZTE AeNDERUNG:
        2023-11-24 von Zook

