diff --git a/OLD.balance.bekanntmachungen b/OLD.balance.bekanntmachungen
new file mode 100644
index 0000000..0c3f11c
--- /dev/null
+++ b/OLD.balance.bekanntmachungen
@@ -0,0 +1,970 @@
+Neues von der Objekt-Balance (Tilly, 18. Jul 2001, 12:34:23):
+Nach anstrengender und mehrfacher Diskussion haben wir
+von der Objekt-Balance uns in der Nachfolge von Boing
+endlich entschieden.
+
+Boing scheidet aus dem Team aus, sein Platz wird ab
+sofort von Darkwing uebernommen.
+
+Ich danke Boing fuer seine Arbeit beim Aufbau der
+Balance und seinen Einsatz im Team seit dieser Zeit.
+Gleichzeitig wuensche ich Darkwing viel Spass und eine
+dicke Haut bei uns. Sicher werden mir die meisten da-
+bei zustimmen, dass er wirklich viel Wissen und Er-
+fahrung rund um das MorgenGrauen mitbringt.
+
+Nach langer und gruendlicher Neudiskussion haben wir
+uns auch dazu entschlossen, den anderen Posten erstmal
+vakant zu lassen. Wir werden zu einem spaeteren Zeit-
+punkt eine erneute Ausschreibung machen.
+
+Dank allen Spielern, die sich beworben hatten. Eure Be-
+reitschaft, einen so verantwortungsvollen Posten ueber-
+nehmen zu wollen, wissen wir sehr zu schaetzen. Das es
+Spieler wie Euch gibt, die ihre Freizeit in solche Ar-
+beit zu stecken bereit sind, die dann sogar Aerger und
+persoenliche Anfeidungen ergibt, ist eher die Ausnahme.
+
+
+ - Tilly, i.A. der Balance -
+
+p.s.: Die Tatsache, dass Darkwing nicht zur Gaenze den
+      'Kriterien' entspricht, die in dem Ausschreibungs-
+      Artikel genannt wurden, ist uns durchaus bewusst.
+      Diese Kriterien waren nicht verbindlich, 1/3 der
+      Bewerbungen fielen nicht darunter.
+
+-----------------------------------------------------------------------------
+
+
+
+Anpassung Elementarschwert/-schild (Anatol,  1. Aug 2001, 00:36:36):
+Hallo ihr alle,
+wie Morgoth bereits hat anklingen lassen, mussten weitere 
+Objekte erneut auf den Pruefstand der Objekt-Balance und 
+zwecks TUeV-Verlaengerung technische Modifikationen ueber 
+sich ergehen lassen.
+
+Elementarschwert (in allen bekannten Ausfuehrungen) und
+-schild sind nur noch in 'elementaren' Schadenstypen (4+1)
+zu haben - also kein peitschendes/explosives/heiliges/... 
+Elementarschwert mehr. Zusaetzlich litt auch der (bisher
+maximale) Ruestungsschutz des Elementarschilds, nicht 
+allerdings die magische Art des Schutzes (Resistenzen).
+
+Da es, wie die Erfahrung zeigte, nicht immer klar ist, 
+wieso 'wir von der Balance' uns so oft in die Nesseln 
+setzen, moechte ich die Beweggruende (die uebrigens im 
+Prinzip die selben sind wie jene das beruehmtberuechtigte
+Schwertmeisterschwert betreffend) erlaeutern:
+Ein Allround-Objekt, egal ob Waffe oder Ruestung, ist hier
+in unserer Welt nicht wuenschenswert, denn es nimmt zuviel
+Spielraum fuer Vielfalt fuer sich in Anspruch. Erwaehntes 
+Elementarschild beispielsweise deckte alle moeglichen
+Schadenstypen (auch noch mit maximalem Schutz) ab; ein 
+neues Gebiet haette dem Mud in dieser Hinsicht mit einem 
+Schild, das beispielsweise gegen Saeure schuetzt, nichts 
+neues an Vielfalt haette geben koennen. Der gesamte 
+Bereich 'Schild + max. Ruestungsschutz + max. Resistenz
+vom Typ <frei waehlbar>' wurde von einem einzigen Objekt 
+abgedeckt -- das empfindliche Verhaeltnis "noetige 
+Mudkenntnis" zu "erreichbare Vielfalt" geraet durch solche
+Multifunktions-Objekte schwer ins Trudeln. So schwer, dass
+selbst eine vergleichsweise schwere Erreichbarkeit die
+Notwendigkeit einer Aenderung nicht beseitigen wuerde.
+
+Ich hoffe, dass damit wenigstens halbwegs klar ist, warum
+wir hier etwas getan haben. Uns ist - natuerlich - schon
+bewusst, dass schon wieder die Menschen-Trves eine sehr
+bittere Pille zu schlucken haben (und, um ein wenig 
+vorzugreifen, wir haben noch eine weitere fuer sie :-(), 
+aber vielleicht macht gerade diese Bitterkeit deutlich, 
+dass Handlungsbedarf bestand. 
+
+Da die betroffenen Objekte derzeit offenbar ueberhaupt
+nicht mehr erhaeltlich zu sein scheinen, sei abschliessend
+noch gesagt, dass ein Magier durchaus berechtigt ist, in 
+seinem Verantwortungsbereich einzelne Objekte in eigener
+Regie aus dem Spiel zu nehmen. Vielleicht weil er sie fuer
+nicht spieltauglich haelt oder z.B. um sie ohne Zeitdruck 
+neuen Bedingungen anpassen zu koennen oder ...
+
+i.A. der Balance,
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Pharmazie der Runenschwerter (Anatol,  4. Aug 2001, 01:05:18):
+Ungeachtet der Packungsbeilage wie angekuendigt die zweite
+nicht wirklich suesse Pille, die wieder besonders den
+menschlichen Trves etwas auf den Magen schlagen kann: Es
+geht, wie Padreic in "balance" und "d.unterwelt" schon
+angedeutet hat, in der Tat um die Runenschwerter - was
+jene wackeren Recken, die unlaengst vergebens um Einlass in
+Zzerenzzen ersuchten, vielleicht schon geahnt haben. Anbei
+ein grober Ueberblick.
+
+Zuerst die gute Nachricht: Es wird sie weiter geben und
+trotz der mudweiten Verbannung des hohen homogenen nicht-
+physikalischen Schadenanteils (dazu last ihr ja schon, so
+von wegen Todesritterschwert, Golemarm und so...) wird es
+sie weiterhin in gewohnter Form und in sehr aehnlicher
+Staerke geben. Diese neue Art der Magie kann allerdings
+nur von Leuten beherrscht werden, die sich ensprechend mit
+ihr beschaeftigt haben.
+Die weniger schoene Aenderung koennt ihr euch ja inzwischen
+denken: Wie auch beim Elementarschwert wurden in puncto
+Schadenstyp-Vielfalt Abstriche gemacht: Drei bestimmte Typen
+sind ueberhaupt nicht mehr moeglich, fuer zwei andere muss
+man etwas mehr Einsatz zeigen.
+
+Auch hier eine Anmerkung, die das eine oder andere immer
+wieder auftretende Missverstaendnis bereinigen koennte:
+Das Gremium fuer Objekt-Balance ist nicht fuer Dinge, die
+lediglich eine bestimmte Gilde betreffen, verantwortlich.
+Wenn es also fuer eine potentielle Elementaristengilde von
+groesster Wichtigkeit ist, ueber Elementarschwerter zu
+verfuegen, deren Schadenstypen nicht mehr verfuegbar sind,
+koennen im Rahmen der Gildenbalance fuer die Elementaristen
+Ausnahmen gemacht werden. Ebenso koennte beispielsweise der
+die Gilde der Dunkelelfen betreuende Magier mit der
+Gildenbalance vereinbaren, dass Dunkelelfen auch jene
+Runenschwerter nutzen koennen, die aus Sicht der Balance
+nicht fuer den Rest des Muds zugelassen werden sollen. Die
+kommenden Dunkelelfen/Elementaristen werden also nicht um
+ihre Existenz bangen muessen, denn fuer sie koennen, so es
+die Gildenbalance gutheisst, Wege geebnet werden.
+
+i.A. der Balance,
+Anatol
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Balance, Teil I (Tilly, 18. Nov 2001, 15:41:00):
+Moin moin auch.
+
+Manchmal gibt es Dinge, die man lieber nicht verkuenden 
+wuerde. Doch sie nicht zu verkuenden und sich vor den 
+Tatsachen zu verschliessen, hilft auch nicht weiter.
+
+Matis und Anatol scheiden auf eigenen Wunsch aus der 
+Objekt-Balance aus.
+
+Damit gehen die beiden Mitglieder unseres Teams, die bis-
+her am laengsten dabei waren. Mit ihnen geht auch ein un-
+geheures Wissen und eine Erfahrung um das MG und die
+Balance.
+
+Ich danke beiden fuer ihre Aufopferung, ihre Geduld und
+die grosse Muehe, die sie bei dieser verantwortungsvollen
+Aufgabe auf sich nahmen, um die Arbeit der Balance zu be-
+reichern.
+
+Beiden wuensche ich viel Spass beim unbeschwerten Spiel
+hier im MorgenGrauen. 
+
+Danke Euch!
+
+ - Tilly, i.A. der Balance - 
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Balance, Teil II (Tilly, 21. Nov 2001, 14:17:07):
+Moin moin!
+
+Wie Ihr aus meinem letzten Artikel unschwer entnehmen
+konntet, sind der Objekt-Balance zwei Mitglieder ab-
+handen gekommen.
+
+Diese (grosse) Luecke muss gefuellt werden.
+
+Deswegen diskutieren wir schon ein Weilchen um den 
+moeglichen Nachwuchs herum. Und da wir ein weitest-
+gehend offenes Gremium sind, moechten wir Euch na-
+tuerlich daran beteiligen.
+
+Wenn also DIR ein/e Spieler/in einfaellt, der/die wegen 
+seines/ihres Wissens und Erfahrung in der Balance gut 
+aufgehoben waere, und von dem/der DU denkst, er/sie 
+wuerde diese Aufgabe gewissenhaft und unparteiisch 
+erledigen koennen, so lass uns das doch einfach wissen. 
+
+Am einfachsten geht dies per 'mail balance'.
+
+Soo, das wars mit Teil II. Teil III kommt dann noch ...
+
+ - Tilly, i.A. der Balance - 
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Balance, Teil III (Tilly,  6. Dez 2001, 20:56:34):
+Moin moin!
+
+Dieser Tag ist fuer mich und die anderen
+Mitglieder der Balance ein besonders guter.
+
+Gilt es doch, die beiden Neubesetzungen
+innerhalb unserer Reihe der Oeffentlichkeit
+mitzuteilen.
+
+Nachdem viele Vorschlaege bei uns einge-
+gangen sind, haben wir uns auf Asuka und
+Elendil geeinigt.
+
+Ich wuensche beiden viel Erfolg, Ausdauer
+und auch Spass in und bei der Objekt-Balance.
+
+Dank an jene, die uns Vorschlaege gaben oder
+sich selber vorgeschlagen haben. :-)
+
+ - Tilly, i.A. der Balance -
+
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Balance, Teil IV (Tilly, 19. Dez 2001, 13:27:47):
+Moin moin,
+
+und schon wieder gibt es Neues von der Objekt-Balance.
+
+Nachtwind wird seine knapp bemessene Zeit in Zukunft
+ganz und gar der Gilden-Balance zukommen lassen und
+steht uns damit leider nicht mehr zur Verfuegung.
+
+Sein ungeheures Wissen, nicht nur rund um die Gilden-
+Interna, wird uns sehr fehlen.
+
+Der freigewordenen Posten wird erstmal vakant bleiben.
+
+Bis zur naechsten Verkuendung,
+
+          - Tilly, i.A. der Objekt-Balance -
+
+-----------------------------------------------------------------------------
+
+
+
+Wurzels Bruchstueck (Tilly,  4. Aug 2002, 13:10:33):
+Moin moin,
+
+einige werden das Bruchstueck eines Spinnenpanzers von Wurzel
+kennen und/oder sogar bei sich tragen.
+
+Nun, die Funktionalitaet dieses Bruchstueckes wurde von der
+Objekt-Balance eingeschraenkt. Eigentlich haette es Wurzel
+machen sollen, aber deren Abwesenheit scheint momentan kein
+Ende zu finden.
+
+Dieses Objekt erledigt eine Aufgabe, die die meisten von Euch
+an einen Client delegieren. Dies diese Arbeit von einem Objekt
+wahrgenommen wird, koennen und werden wir nicht zulassen.
+
+Und bevor hier jetzt eine Diskussion ala 'Wenn dieses Objekt,
+wieso nicht dann auch jenes oder welches?' ausbricht, moechte
+ich mich schon jetzt herzlichst fuer die Hinweise bedanken :-)
+
+ - Tilly, i.A. der Objektbalance -
+
+p.s.: Natuerlich spricht nichts dagegen, wenn Wurzel dem Objekt
+      einen anderen Nutzen zuweist.
+
+-----------------------------------------------------------------------------
+
+
+
+Verstaerkung fuer die Objekt-Balance gesucht (Tilly, 19. Sep 2002, 13:27:03):
+Moin moin.
+
+Die Objekt-Balance sucht SpielerInnen, die es sich zutrauen,
+ihre Reihen zu verstaerken und tatkraeftig im Team mitzuwirken.
+
+Es gibt keine Anforderungen an die Gilde, den Level oder der-
+gleichen. Solltest Du Dich bewerben wollen, so ist Lust, Spass
+und Zeit das einzige, was Du nebst einer eigenen Meinung und
+mangelnder Scheu vor einer Konfrontation mitbringen muesstest.
+Wenn Du also denkst, das Du Dich im MorgenGrauen recht gut
+auskennst, und die Faehigkeit besitzt, unvoreingenommen Objekte
+zu beurteilen und diese im Team zu diskutieren, so zoegere
+nicht und bewirb Dich jetzt per 'mail balance'.
+
+Dergleichen gilt auch, wenn Du jemanden fuer besonders faehig
+haeltst und denkst 'er/sie waere in der Balance gut aufgehoben'.
+Dann schlag uns diesen Spieler / diese Spielerin einfach vor.
+
+Bitte nur per 'mail balance' und moeglichst innerhalb der
+naechsten zwei Wochen antworten. Also bis zum 03.10. diesen
+Jahres.
+
+Gruss,
+              - Tilly, i.A. der Objekt-Balance -
+
+-----------------------------------------------------------------------------
+
+
+
+Neues von der Objekt-Balance (Tilly, 10. Okt 2002, 16:24:48):
+Moin moin.
+
+Viel Neues gibt es zu verkuenden.
+
+Vor wenigen Wochen bat ich in dieser Rubrik um Bewerbungen
+und Vorschlaege fuer vakante Posten in der Objekt-Balance.
+
+Die Reaktionen auf diesen Artikel hat das Team wirklich
+ueberrascht. Mit so vielen Mails und tm's haben wir nicht
+gerechnet. Ich danke allen, die sich beworben haben fuer
+ihre Bereitschaft, die schwierige Aufgabe in der Balance
+wahrzunehmen und die grosse Verantwortung zu uebernehmen,
+die damit einher geht.
+
+Wir haben lange beraten, diskutiert, ueberlegt und per-
+soenliche Gespraeche mit den Bewerbern gefuehrt.
+
+Als Ergebnis heisse ich Croft, Foobar und Pitfall in der
+Balance willkommen. Ich wuensche ihnen viel Durchhalte-
+vermoegen und Spass bei ihrer neuen Aufgabe.
+
+Nun mag der ein oder andere von Euch verdutzt bemerken:
+
+          'Oeh, gleich 3 Neue? Wie denn das?'
+
+Und damit komme ich zum zweiten Teil der Bekanntmachung.
+
+Elendil scheidet auf eigenen Wunsch aus dem Balance-Team
+aus. Leider hat sein RL ihn dermassen beschaeftigt, das er
+nicht die Zeit fuer die Balance gefunden hat, die er
+dafuer gern aufgebracht haette. Das ist schade, kann aber
+jedem von uns passieren.
+
+Ebenso hat sich Puk dazu entschlossen, seinen Posten in
+der Balance zur Verfuegung zu stellen. Er war ueber zwei
+Jahre bei uns. Das ist eine lange Zeit, sein Engagement
+und der unermuedliche Einsatz fuer Belange der Balance
+werden uns sicher fehlen.
+
+Ich bedanke mich bei beiden fuer ihre Bereitschaft und
+die geleistete Arbeit und wuensche ihnen noch viel Spass
+hier im MorgenGrauen.
+
+Der dritte Posten, der von uns heute neu besetzt wird, ist
+der von Nachtwind. Dieser Posten ist schon etwas laenger
+vakant, und ich freue mich, dass das Team nun endlich
+wieder komplett und vollstaendig ist.
+
+
+Nun: herzlich Willkommen den Neuen!
+
+
+               - Tilly, i.A. der Balance -
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Balance-Team-Mitglied (Zook, 22. Jan 2003, 12:37:42):
+Hallo,
+
+wir freuen uns, Euch mitzuteilen, dass unser Balance-Team Verstaerkung
+bekommen hat. Humni ist ab sofort Mitglieder der Balance. Dir Humni wuensche
+ich viel Spass bei der Aufgabe und der Balance nun ganz viel Gilden-Balance-
+Knowhow.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Artillerie-Objekte (Zook,  5. Jul 2003, 22:43:35):
+Nach einem langen Diskussionsprozess haben wir von der Objekt-Balance
+neue Regeln fuer Artillerie-Objekte festgelegt. 
+
+Artillerie sind Objekte, die zusaetzlich zu den vorhandenen Gildenfaehig-
+keiten durch ein vom Spieler initiiertes Kommando direkt Schaden an einem oder
+mehreren Gegnern verursachen.
+
+Die fuer Spieler wichtigen Anforderungen werden in Zukunft sein:
+
+ - Artillerie muss Konzentrationspunkte verbrauchen.
+ - Artillerie darf nicht (bzw. nur begrenzt) gehoertet werden koennen.
+ - Artillerie darf bei Paralyse nicht angewendet werden koennen.
+ - Artillerie verbraucht eine oder mehrere Aktionen im Kampf.
+
+Diese Regelungen treten in 30 Tagen in Kraft. Bis dahin werden von uns die
+Magier der uns bekannten Artillerie angemailt und es wird um Anpassung oder
+Neubeantragung gebeten. Danach sollte (eine gewisse Bearbeitungsfrist
+draufgeschlagen) keine Artillerie mehr im Spiel sein, die diese Anforderungen
+nicht erfuellt. Falls doch, so bitten wir Euch um Mitteilung, damit wir
+auch diese Objekte noch ausbalancieren koennen.
+
+Gruss, Zook.
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Balance-Mitglied gesucht (Nonne, 22. Jan 2004, 11:27:46):
+~#! on=Nonne ot=1074762274 og=bekanntmachungen
+Hallo Leute,
+
+leider wird Darkwing das Balanceteam verlassen. Ich moechte ihm an dieser
+Stelle fuer seine Arbeit danken. Wir werden seine Mudkenntnis vermissen, auch
+seine Erfahrung durch die langjaehrige Arbeit in der Balance wird schwer zu
+ersetzen sein.
+
+Nun suchen wir ein neues Mitglied, welches ueber folgende Eigenschaften
+verfuegen sollte:
+
+- starke Nerven
+- gesunden Menschenverstand
+- Zeit
+- Ein dickes Fell gegenueber Kritik aus der Magier- und Spielerschaft
+- gutes allgemeines Spielverstaendnis
+- Teamfaehigkeit
+- sehr gute Kenntnis des Muds
+
+Ernstgemeinte Vorschlaege und Bewerbungen bitte per Mail an balance.
+
+Nonne, i.A. des Balance-Teams
+~?
+
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Neue Balance-Mitglied gesucht (Nonne, 22. Jan 2004, 11:27:48):
+~#! on=Nonne ot=1074766986 og=bekanntmachungen
+~#! rn=Nonne rt=1074762274 rg=bekanntmachungen
+~#! tid=1074762274
+Nachtrag: Bewerbungen bitte per Mail bis Samstag den 07.02.04 an uns richten
+
+Nonne.
+
+-----------------------------------------------------------------------------
+
+
+
+Balance-Nachfolge (Nonne, 22. Feb 2004, 11:19:14):
+Die Wuerfel sind gefallen. Entgegen urspruenglicher Planung werden gleich
+zwei neue Mitglieder dem Balance-Team beitreten, da Asuka sich entschlossen
+hat, sein Mandat aus Zeitmangel niederzulegen. Ich moechte Asuka an dieser
+Stelle fuer die Arbeit und Zeit danken, die er in die Balance und damit zu
+gunsten des gesamten MorgenGrauen investiert hat.
+
+Als Nachfolger werden Brotnael und Tylak das Balanceteam ergaenzen. Ich
+wuensche viel Erfolg, Spass und ein dickes Fell bei der neuen Aufgabe.
+
+i.A. der Balance
+Nonne
+
+-----------------------------------------------------------------------------
+
+
+
+Ruecktritt (Miril, 19. Jul 2005, 00:30:17):
+Hallo!
+
+Leider muss ich verkuenden, dass Foobar auf eigenen Wunsch aus dem Balance-
+Team ausscheidet. Auch wenn ich ihn als Balance-EM nicht mehr aktiv erleben
+durfte, sprech ich sicherlich fuer das Team, wenn ich sage, dass er eine
+grosse Luecke hinterlassen wird.
+
+Ich danke Dir, Foobar, fuer die Muehe und Geduld, die bei dieser Aufgabe
+sicherlich noetig war und hoffe, dass Du weiterhin Spass am Spielen im
+MorgenGrauen haben wirst.
+
+Vielen Dank
+
+Miril, im Namen des Balanceteams
+
+-----------------------------------------------------------------------------
+
+
+
+Verstaerkung gesucht! (Miril, 19. Jul 2005, 10:22:08):
+Huhu!
+
+Durch den Ruecktritt von Foobar ist im Balanceteam eine Luecke entstanden,
+die wir zu schliessen gedenken. Wir suchen einen Spieler, der bereit ist,
+diese Luecke zu fuellen und tatkraeftig im Team mitzuarbeiten.
+
+Es gibt keine Anforderungen an Gilde oder Level, aber es ist schon wichtig,
+dass Du Dich im MorgenGrauen gut auskennst. Noch wichtiger ist jedoch, dass
+Du bereit bist, einen Teil Deiner Spielzeit fuer die Balancearbeit 
+einzusetzen, Lust und Spass daran hast, neue Objekte auf Herz und Nieren 
+zu pruefen und Deine Meinung ohne Scheu vor Konfrontationen zu vertreten. 
+Ist dies der Fall, so zoegere nicht, Dich zu bewerben.
+
+Wenn ihr jemanden kennt, dem ihr diese Qualitaeten zuschreibt, schlagt ihn
+uns einfach vor.
+
+Bitte schreibt Eure Bewerbungen/Vorschlaege formlos an mail balance.
+Einsendeschluss ist der 12.8.2005 (und unter allen Teilnehmern wird ein 
+toller Plueschelch verlost ;).
+
+Miril im Namen der Objekt-Balance
+
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung im Balanceteam (Miril,  1. Sep 2005, 20:41:21):
+Huhu!
+
+Vor einigen Wochen hatten wir ein kleines Preisausschreiben gemacht, bei dem
+es um den Hauptgewinn des tollen Plueschelchs ging. Der Sieger steht nun
+nach langem Ruehren der Lostrommel fest ;).
+
+Nein, nun noch mal im Ernst: 
+Das Balanceteam freut sich, in seinen Reihen als neues Mitglied Huraxprax
+begruessen zu duerfen, der in Zukunft mithelfen wird, neue Objekte zu
+begutachten und alte Objekte abzuwerten (und manchmal sogar aufzuwerten). 
+Es hatten sich einige Spieler beworben und waren bereit, diese wichtige
+und auch zeitaufwaendige Aufgabe zu uebernehmen, denen ich auf diesem Wege
+auch noch einmal fuer ihre Bereitschaft danken moechte. Das Team hat nach
+gruendlicher Ueberlegung entschieden, dass Huraxprax diesen Posten bekommen
+soll. 
+
+Ich wuensche Dir, Huraxprax viel Spass aber auch viel Durchhaltevermoegen,
+Kritikfaehigkeit und Diskussionbereitschaft fuer Deine neue Aufgabe.
+
+Miril, im Namen der Objektbalance
+
+-----------------------------------------------------------------------------
+
+
+
+Und schon wieder hat jemand das grosse Los gezogen (Miril, 29. Nov 2005, 23:06:36):
+Huhu!
+
+Schon wieder stehen Veraenderungen im Balanceteam an. Brotnael ist auf 
+eigenen Wunsch aus dem Balanceteam ausgeschieden. Deine Arbeit hat das
+Team sehr bereichert und wir alle bedauern, dass Du nicht mehr die Zeit
+fuer diesen Job findest. Jedenfalls danke ich Dir an dieser Stelle noch
+einmal fuer die geleistete Arbeit.
+
+Die Luecke, die Brotnael im Team hinterlaesst, haben wir jedoch bereits
+wieder geschlossen. Vor einiger Zeit hatten sich eine Reihe von guten
+Kandidaten beworben, die wir leider nicht alle beruecksichtigen konnten. Da
+sie alle nach wie vor Interesse an der Balancearbeit haben, hat das Team
+beschlossen, aus den Kandidaten vom letzen Mal denjenigen auszuwaehlen, der
+Brotis Platz einnehmen soll.
+Die Tombola wurde geruehrt, Stimmen hingeworfen und der Gewinner des 
+Plueschelchs wurde ermittelt ;). 
+Ich freue mich, verkuenden zu duerfen, dass Madness nun das Balanceteam
+verstaerken wird. Ich hoffe auf eine gute Zusammenarbeit im Team und 
+wuensche Dir viel Spass und ein dickes Fell bei Deiner neuen Aufgabe, 
+Madness.
+
+Miril, im Namen der Objektbalance.
+
+-----------------------------------------------------------------------------
+
+
+
+Ein trauriges Muuuuuuuuuuh! (Miril, 16. Jan 2006, 00:16:30):
+Huhu!
+
+Bedauernswerterweise hat nun auch Pitfall beschlossen, seinen Posten bei
+der Objektbalance aufzugeben. Auch Dir, Pitfall, moechte ich an dieser
+Stelle im Namen des B-Teams noch mal fuer Deine geleistete Arbeit danken.
+Deine Kritikfaehigkeit und Spieluebersicht wird uns sicher in Zukunft
+fehlen, vom Muuuuhhh ganz zu schweigen ;).
+
+Pitfalls Weggang fuehrt nun dazu, dass ich die alte Tombole wieder zu
+neuem Leben erwecken muss. Doch bevor sie geruehrt werden kann, brauchen
+wir Zettel mit Namen, die wir hinein werfen koennen ;).
+
+Daher moechte ich alle Interessierten ermutigen, sich fuer einen Posten
+in der Objektbalance zu bewerben. Solltet ihr jemanden kennen, den ihr
+fuer geeignet haltet, so schlagt ihn uns bitte vor. Auch diejenigen, die
+sich bereits frueher beworben haben, moechte ich hiermit ermutigen, dies
+nochmals zu tun, wenn sie noch Zeit und Lust haben.
+
+Miril, im Namen der Objektbalance
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Ein trauriges Muuuuuuuuuuh! (Miril, 16. Jan 2006, 00:22:54):
+~#! rn=Miril rt=1137366990 rg=balance.bekanntmachungen
+~#! tid=1137366990
+Nachtrag:
+
+Die Bewerbungsfrist laeuft bis zum 6.2.2006. 
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Neues Mitglied im Balanceteam (Miril, 16. Feb 2006, 23:24:01):
+Ich freue mich, euch mitteilen zu koennen, dass das Balanceteam nun wieder
+xyz
+vollstaendig ist. Vector gehoert ab heute mit zum Team und wird mit seiner
+langjaehrigen Spielerfahrung und Kenntnis des MG sicher viel zur Arbeit im
+Team beitragen koennen. Ich hoffe auf gute Zusammenarbeit und wuensche Dir
+viel Spass bei Deiner neuen Aufgabe, Vector!
+
+Miril, im Namen der Objektbalance.
+
+-----------------------------------------------------------------------------
+
+
+
+Legenden (Miril,  7. Apr 2006, 14:11:03):
+ranken sich um viele Waffen, die die ueblen Geschoepfe des MorgenGrauen mit
+sich tragen. Eine davon, dem Tempel des Ulzu'Bakhtarrh entstammend, war den
+Huetern des Gleichgewichts schon seit langem ein Dorn im Auge. Schon kleinste
+Helden liefen mit diesem Mordinstrument drohend auf der Hochebene herum, um
+harmlose kleine Hasen und Ameisen abzuschlachten und wussten nicht einmal,
+woher sie diese Waffe hatten. 
+Heute ist nun der Tag gekommen, an dem sich die Hueter der Waffen 
+bemaechtigten, diese in den tiefen Schmieden des silbernen Turms neu
+schmiedeten und dafuer sorgten, dass legendaere Waffen auch nur in die 
+Haenden von wahren Helden gelangen koennen. Der weise Spruch:
+Feuer, Flamme, Schnitt und Stich sind fuer kleine Spieler nich, wird
+nun endlich wahr.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Legenden (Miril,  7. Apr 2006, 14:20:15):
+~#! rn=Miril rt=1144411863 rg=balance.bekanntmachungen
+~#! tid=1144411863
+Bei der Gelegenheit moechte ich gleich noch hinzufuegen, dass die zuengelnden
+Flammen nun etwas seltener erscheinen, als es bislang der Fall war.
+
+Und da ich mal wieder eine Klammer vergessen hab sind leider einige kostbare
+Stuecke aus euren Truhen/Inventar etc. verschwunden, die ihr aber bei mir
+im Turm abholen koennt.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Schmiede (Miril,  9. Apr 2006, 14:37:40):
+Den Schmieden in den Tiefen des silbernen Turms ist nun auch ein gewisses
+gluehendes Messer in die Haende gefallen und sie haben es leider ein
+bisschen verdengelt. Dabei hat es geringfuegig an Schaerfe verloren und
+glueht auch haeufiger mal etwas schwaecher. Aber das merkt ihr sicher 
+selbst. Die gute Nachricht: Diesmal sind alle alten Messer ganz geblieben
+und nur neue sind davon betroffen ;).
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Blutsaugerschwert (Miril,  9. Apr 2006, 17:59:58):
+Das Blutsaugerschwert hat eine kleine Aenderung erfahren. Als Questbelohnung
+sollte es immer noch annaehernd so gut sein, wie es vorher war. Spaeter
+geholte Blutsaugerschwerter haben diese Besonderheit jedoch nicht mehr,
+sind aber immer noch gute Waffen. Man kann es dem Schwert auch ansehen,
+aber das merkt ihr schon selbst.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Neubewertung alter Objekte (Miril, 10. Apr 2006, 10:41:19):
+Wie ihr sicher zur Kenntnis genommen habt, wurden einige alte Objekte neu
+bewertet und zum Teil auch abgewertet. Dies hat mehrere Gruende, die wir 
+hier kurz erlaeutern moechten.
+
+Seit langem schon gibt es Grenzwerte, die die Objektbalance festgelegt hat
+und die bindend fuer die Entscheidung ueber die Genehmigung eines Objekts
+sind. Wenn Objekte diese Grenzwerte erreichen oder ueberschreiten, dann sollte
+dies nur geschehen, wenn es mit ganz erheblichen Nachteilen einhergeht. Ein
+Nachteil kann z.B. sein, dass es sich um Uniqueobjekte handelt, dass sie nur
+eine begrenzte Haltbarkeit haben oder vieles andere. Neue Objekte, die in den
+letzten Jahren angeschlossen wurden, halten sich an diese Regelungen. Selbiges
+gilt auch fuer Dinge, die in Zukunft angeschlossen werden. 
+
+Die Regelungen sind nicht voellig starr, auch solche Kriterien wie 
+Erreichbarkeit des Objekts werden von uns bis zu einem gewissen Grad in
+Betracht gezogen, aber sie sind vorhanden und wie wir meinen auch sinnvoll,
+um die Ruestungsspirale ein wenig unter Kontrolle zu halten bzw. zu verlang-
+samen.
+
+Das Problem stellen nun aber eine ganze Reihe von alten Objekten dar, die 
+noch vor Bestehen des Balanceteams angeschlossen wurden. Sie halten sich nicht
+an diese Grenzen, gehen teilweise weit darueber hinaus. 
+
+Bestandsschutz fuer diese Objekte sollte es nicht geben, denn dies ist vor
+allem auch denjenigen gegenueber unfair, die heute noch aktiv Gebiete und
+neue Objekte schreiben, aber so etwas nicht mehr genehmigt bekaemen. Neue
+Objekte waeren dann schwaecher und somit oftmals auch fuer die Spieler 
+uninteressanter als die alte, schnell mal eben geholte Ausruestung. Dies
+fuehrt dann dazu, dass eine Reihe neuer Gebiet zwar einmal angeschaut, aber
+dann recht selten betreten wird, denn vergleichbare/bessere Items kann man
+woanders leichter holen. Diese Entwicklung waere jedoch fatal, da sie gerade
+diejenigen Magier demotiviert, die heute noch aktiv sind.
+
+Wir moechten Euch daher auch mit darum bitten, uns solche Objekte zu nennen, 
+falls sie Euch auffallen. Viele sind bekannt und werden bereits diskutiert,
+aber es waere schoen, wenn wir dabei auf Eure Mithilfe zaehlen koennten.
+
+
+Miril, im Namen des Balanceteams
+
+-----------------------------------------------------------------------------
+
+
+
+Nachruf (Miril, 14. Apr 2006, 13:39:53):
+Die Legenden berichten von einem eisigen Schwert, dessen Wille nur eins ist,
+naemliche TOETEN. Aeonen lang schmiedete die linke und die rechte Hand des
+Todes daran herum, bis es endlich von ihm fuer gut befunden wurde und wuerdig
+war, dem grausamsten Kaempfer aller Zeiten, der die Ebene unsicher macht,
+als Waffe zu dienen. Niemals hatte die linke und rechte Hand jedoch daran
+gedacht, welche Macht diese Waffe in den Haenden von wahren Helden haben
+wuerde. Etwas vorsichtig war er jedoch, denn er schmiedete lediglich zehn
+Exemplare dieser Waffe.
+Die Hueter des Gleichgewichts beobachteten das Schwert schon seit langem. 
+Lange Jahre schauten sie zu, wie die Helden dieser Welt damit umherzogen 
+und finstere Monstern damit schwer verwundeten oder ihnen gar den Todesstoss 
+versetzten. Frueher, als noch mehr Helden diese Welt bevoelkerten, verschwand
+die Waffe sehr schnell wieder, um dem finsteren Kaempfer zu dienen. Mit Sorge 
+beobachteten die Hueter, dass sich dies inzwischen geaendert hat. Zehn 
+Exemplare sind mehr, als die Welt heute noch verkraften kann. Dies mag in 
+Zukunft wieder anders werden, wenn abtruennige Helden aus anderen Welten 
+zurueckkehren. 
+Die Hueter gaben die Waffe den Schmieden in den Tiefen des silbernen Turms,
+wo sie eingeschmolzen und nach bestem Wissen und Gewissen neu geschmiedet
+wurde, um sie auf die heutige Zeit anzupassen. Etwas geringer ist ihre Macht
+dabei geworden, doch vermag auch jetzt noch jeder wuerdige Held, den finsteren
+Gesellen den letzten Schlag zu versetzen.
+So geht die Legende weiter, das eisige Schwert ist zu neuem Leben erwacht.
+
+Nachruf eines unbekannten Schmiedes aus den Tiefen des silbernen Turms
+
+-----------------------------------------------------------------------------
+
+
+
+Aenderung im Balanceteam (Miril, 15. Apr 2006, 15:15:22):
+Huhu!
+
+Heute gibts hier mal keine Hiobbotschaft ;).
+
+Wir freuen uns, McDee als neues Mitglied im Balanceteam begruessen zu
+duerfen, der an Tylaks Stelle nun im Team mitarbeiten wird. Ich wuensche
+Dir viel Spass, Durchhaltevermoegen und ein dickes Fell, McDee.
+
+Tylak moechten wir an dieser Stelle noch einmal fuer sein Mitarbeit im
+Balanceteam danken.
+
+Miril, im Namen der Objektbalance.
+
+-----------------------------------------------------------------------------
+
+
+
+Nachwuchs gesucht! (Miril,  3. Feb 2007, 13:48:45):
+Seid gegruesst, ihr Heldinnen und Helden!
+
+Gar manches maechtige Artefakt, das Ihr bei Euch tragt, wurde zuvor von
+den Huetern des Gleichgewichts begutachtet und auf Tauglichkeit geprueft.
+
+Wenn ihr Interesse habt bei dieser Arbeit mitzuwirken oder jemanden kennt,
+dem ihr es zutraut, so lasst es uns wissen, denn wir suchen engagierte,
+motivierte neue Mitarbeiter im Balanceteam.
+
+Lasst uns eure Bewerbung oder Vorschlaege bitte per 'mail balance' zukommen.
+
+Miril, im Namen des Objektbalanceteams.
+
+-----------------------------------------------------------------------------
+
+
+
+Frischer Wind im Balanceteam (Miril, 31. Jul 2007, 19:20:29):
+Huhu,
+
+nein, ihr braucht keine Angst haben, Narya gibt es noch. Auch das Adahemd und
+die Wurfsterne blieben bislang unbehelligt.
+
+Ich wollte Euch auf diesem Wege mitteilen, dass sich die Zusammensetzung des
+Objektbalanceteams geaendert hat. Madness scheidet auf eigenen Wunsch aus dem
+Balanceteam aus. Dafuer konnten wir Moonshine fuer diese Aufgabe gewinnen. 
+
+Madness, Dir danke ich fuer die geleistete Arbeit im Balanceteam. Schade, dass
+das RL Dir keine Zeit mehr laesst, hier aktiv mitzuarbeiten. 
+
+Dir Moonshine wuensche ich ein dickes Fell, Ausdauer, Durchhaltevermoegen und
+Nerven wie Drahtseile, damit Du die vor Dir liegenden Aufgaben gut bewaeltigen
+kannst (Nein, ganz so schlimm ist das alles gar nicht und Spass haben wir auch
+immer mal wieder ;).
+
+Miril, im Auftrag der Objektbalance
+
+-----------------------------------------------------------------------------
+
+
+
+Re: Frischer Wind im Balanceteam (Miril, 31. Jul 2007, 19:22:49):
+~#! rn=Miril rt=1185902429 rg=balance.bekanntmachungen
+~#! tid=1185902429
+Ich muss hier wohl was korrigieren: Ich wuensche Dir eine dicke Zwergenkruste,
+Moonshine ;).
+
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Und noch mehr frischer Wind (Miril, 19. Aug 2007, 21:47:28):
+Huhu,
+
+und wieder darf ich verkuenden, dass sich die Zusammensetzung des Balanceteams
+veraendert hat. Vector scheidet aus dem Team aus, Zarku konnten wir als seinen
+Nachfolger gewinnen. 
+
+Ich danke Dir, Vector, fuer die geleistete Arbeit im Balanceteam. Zarku, Dir
+wuensche ich ein dickes Fell (hihi, diesmal richtig) und viel Motivation und
+Ausdauer fuer deinen neuen Job.
+
+Miril, im Namen der Objektbalance
+
+-----------------------------------------------------------------------------
+
+
+
+Artillerie (Miril,  5. Apr 2008, 15:08:07):
+
+Hallo!
+
+Hinsichtlich der Artillerie wird es einige Veraenderungen geben. Einige
+Artillerieobjekte, wie z.B. die Wurfsterne entsprachen schon laenger nicht
+mehr den Balancevorgaben. Dank Zesstra ist nun moeglich, diesen Missstand zu
+beseitigen. Ich weise alle Magier, die Artillerie gebaut haben, bauen wollen
+oder fuer die Pflege solcher Objekte verantwortlich sind auf die Aenderung der
+entsprechenden Manpage hin.
+
+Fuer euch Spieler bedeutet dies, dass Wurfsterne, Pfeile von Robins Bogen und
+aehnliche Objekte in Zukunft keine unendliche Haltbarkeit mehr haben werden,
+sondern langsam vor sich hin gammeln oder rosten.
+
+Miril
+
+-----------------------------------------------------------------------------
+
+
+
+Nachwuchs (Miril, 13. Jan 2010, 23:53:30):
+Huhu,
+
+wir freuen uns, euch mitteilen zu koennen, dass das Balanceteam einen jungen,
+aufstrebenden Nachwuchsbalancler fuer das Team gewinnen konnte. Xutelius wird
+ab sofort im Team mitarbeiten und Zarku abloesen. Wir wuenschen Dir, Xutelius,
+gute Nerven, viel Spass und hoffen auf eine gute Zusammenarbeit. 
+
+Zarku danken wir an dieser Stellen fuer seine Mitarbeit im Team.
+
+Miril, im Auftrag des Balanceteams.
+
+-----------------------------------------------------------------------------
+
+
+
+Tassram ist jetzt ein Balancemitglied! (Humni, 15. Jan 2011, 16:40:30):
+Hallo,
+
+da sich Moonshine in letzter Zeit nicht mehr oft hat blicken lassen, haben wir
+einen Ersatz gefunden: Tassram!
+
+Ich moechte an dieser Stelle Moonshine fuer die langjaehrige Arbeit danken und
+beglueckwuensche Tassram zu dieser verantwortungsvollen Aufgabe.
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Bonbons und Leckereien (Humni, 12. Feb 2013, 21:52:11):
+Hallo ihr,
+
+wie einigen von Euch auffallen wird, werden gewisse hexische Bonbons ein
+wenig... reduziert sein.
+
+Sprich: Ihr kriegt eins weniger. Ansonsten bleibt aber alles beim Alten.
+
+Warum? Wer einfach nur einen Grund braucht, und schimpfen will: Weil ich es
+kann. Und boese bin. Harhar.
+
+Wer nun aber wirklich an dem Hintergrund interessiert ist, mag zuhoeren: Die
+Drops sind von Anfang an verdammt grenzwertig gewesen. Verglichen mit dem, was
+es damals im Mud gab, waren sie schlichtweg zu gut. Sie haben das Kampf- und
+Tankverhalten einigermassen geaendert.
+
+Nun waere es aber, da im Mud mittlerweile die Drops "state of the art" sind,
+eine massive Abwertung, die Drops einfach wegzunehmen. Andererseits sind sie
+sehr simpel zu erreichen (da wird fast jeder ein Skript hin haben, und selbst
+wenn nicht, sind es mit dem Portal nur ein paar Raeume zu laufen), ohne
+jegliche Anforderungen.
+
+Also habe ich ein wenig gewartet, bis einige mobile Tankstellen mehr
+angeschlossen sind. Also Objekte, die Spieler mitnehmen koennen und die sie
+heilen.
+
+Das ist nun der Fall. Die neuen Stellen moegen nicht ganz so simpel zu
+erreichen sein, evtl. wird man sogar ein wenig metzeln muessen.
+
+Aber ich denke doch, insgesamt steht ihr besser da. Ja, man muss sich nun
+umschauen.
+
+Machtgeilheit und Willkuer,
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
+Neue Mitglieder (Humni,  4. Mai 2013, 21:00:15):
+Hallo ihr,
+
+Lurchi und Huraxprax haben das Balanceteam auf eigenen Wunsch verlassen. Ich
+moechte mich hiermit - auch im Namen meiner Vorgaenger - bei beiden fuer
+jahrelange konstruktive, in Diskussionen mit Mitmagiern nicht immer einfache,
+aber sehr noetige Arbeit bedanken.
+
+Als Nachfolger haben wir auch schon zwei erfahrene Spieler gewinnen koennen:
+Soynada und Talanis werden das Team ab sofort verstaerken.
+
+Auf gute Zusammenarbeit!
+
+Mit der notwendigen Machtgeilheit und Willkuer,
+
+Humni
+
+-----------------------------------------------------------------------------
+
+
+
